Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中从arrayObject中删除对象?_Php_Arrays_Object_Unset - Fatal编程技术网

如何在php中从arrayObject中删除对象?

如何在php中从arrayObject中删除对象?,php,arrays,object,unset,Php,Arrays,Object,Unset,我想在php中从arrayObject中删除对象,但在deleteComputer方法中显示此错误:“警告:非法偏移类型”,请帮助我,我从php开始:) 我已经: 主文件:/ $list = new ControllerList(); $computer1 = new Computer(); $computer1->setNumber(001); $computer1->setColor("Black");

我想在php中从arrayObject中删除对象,但在deleteComputer方法中显示此错误:“警告:非法偏移类型”,请帮助我,我从php开始:)

我已经:

主文件:/

         $list = new ControllerList();

         $computer1 = new Computer();
         $computer1->setNumber(001);
         $computer1->setColor("Black");

         $computer2 = new Computer();
         $computer2->setNumber(002);
         $computer2->setColor("White");

         $list->addComputer($computer1);
         $list->addComputer($computer2);

         $list->deleteComputer(001);  --> error method

$value
是一个对象,而不是数组索引。您需要将数组索引添加到
foreach
循环:

foreach ($this->computers as $i => $value) {
    if($value->getNumber() == $computerNumber){
        unset($this->computers[$i]);
        echo 'Delete!!';
    } else {
        echo 'Don't delete!!';
    }
}

$value
是一个对象,而不是数组索引。您需要将数组索引添加到
foreach
循环:

foreach ($this->computers as $i => $value) {
    if($value->getNumber() == $computerNumber){
        unset($this->computers[$i]);
        echo 'Delete!!';
    } else {
        echo 'Don't delete!!';
    }
}

与巴尔马的解决方案一样,我将在这里解决您的逃跑问题

 echo 'Don't delete!!';

有关转义字符串的其他信息可在此处找到:

与Barmar的解决方案一样,我将在这里解决您的逃跑问题

 echo 'Don't delete!!';

有关转义字符串的其他信息可在此处找到:
computerNumber
应该是
$computerNumber
computerNumber
应该是
$computerNumber
echo 'Don\'t delete!!';