PHP推送和循环对象数组

时间:2014-09-08 10:01:44

标签: php arrays

我想在我的对象数组中添加一个新索引,并能够循环并检索添加的新索引。

目前我的对象数组如下:

Array ([0] => 
            stdClass Object ([id] => 4 [date] => 2014-09-08 10:18:10 [status] => 1)
      )

所以,要循环它我只是做:

foreach($content as $item){
   echo $item->id;
}

但是,由于某些原因,我需要将一个新元素推送到我的数组:

$item  = $data['content']; // $data holds the content above
$clone = array();
foreach($item as $row){

  if($row->status == 1){

     array_push($clone, $row, array("delete" => TRUE));
  }else{

     array_push($clone, $row, array("delete" => FALSE));
  }
}
$item = $clone;

输出是这样的:

Array ( [0] => 
            stdClass Object ([id] => 4 [date] => 2014-09-08 10:18:10 [status] => 1) [1] => Array ( [delete] => 1)
      )

但我想要像

这样的东西
 Array ( [0] => 
                stdClass Object ([id] => 4 [date] => 2014-09-08 10:18:10 [status] => 1 [delete] => 1) 
          )

我也尝试过:

$item[] = (object) array("delete" => FALSE);

但问题仍然存在。

2 个答案:

答案 0 :(得分:2)

这就够了:

foreach($item as $row) {
    $row->delete = ($row->status == 1);
}

答案 1 :(得分:1)

它的对象所以将变量设置为对象变量

foreach($item as $row)
     $row->delete = $row->status ? true : false;