簡體   English   中英

PHP將鍵值添加到數組

[英]php add key value to array

所以我從數據庫中獲取對象,我想將id和點放入數組中。 並且每次getIscorrect等於true時,id的值都必須增加1。

$answers = array();
    $return = $this->_quizMapper->getAll();
    foreach($return as $answer){
        if($answer->getIscorrect() == true){
            if(!($answers[$answer->getID()])){
                $answers[$answer->getID()] = 1;
            }
            else{
                $newPoints = $answers[$answer->getID()] + 1;
                $answers[$answer->getID()] = $newPoints;
            }
        }
    }

但是我不斷收到錯誤消息:PHP注意:未定義的索引:在該行上if(!($answers[$answer->getID()])){

更改為if (!isset($answers[$answer->getID()]))

這將取消通知。

這是因為未定義密鑰。

您應該使用的是:

 if(!isset($answers[$answer->getID()]) || !($answers[$answer->getID()])){

將您的代碼更改為:

$answers = array();
$return = $this->_quizMapper->getAll();
foreach($return as $answer)
{
    if($answer->getIscorrect() == true)
    {
        if(!isset($answers[$answer->getID()]))
        {
            $answers[$answer->getID()] = 1;
        }
        else
        {
            $newPoints = $answers[$answer->getID()] + 1;
            $answers[$answer->getID()] = $newPoints;
        }
    }
}

您必須使用方法isset()來檢查當前鍵在數組中是否存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM