[英]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.