如何添加到stdObject数组?

时间:2012-11-15 00:03:44

标签: php arrays

这是print_r($ object)的结果:

Array
(
    [0] => stdClass Object
      (
        [title] => Test procedures in watermelons
        [nid] => 494
        [type] => chsmanuscript
      )

    [1] => stdClass Object
      (
        [title] => How to eat cookies
        [nid] => 520
        [type] => chsmanuscript
      )
)

如何在此对象数组中手动​​添加第3个对象项?我尝试了以下但它不起作用:

$object[2]->title = 'test';
$object[2]->nid   = '999';
$object[2]->type  = 'chsmanuscript'

错误是: 致命错误:无法使用DatabaseStatementBase类型的对象作为数组

3 个答案:

答案 0 :(得分:2)

在尝试访问其成员之前,必须先在特定数组元素中创建一个新的stdClass对象:

$object[2] = new stdClass();
$object[2]->title = 'test';
$object[2]->nid   = '999';
$object[2]->type  = 'chsmanuscript'

答案 1 :(得分:1)

 $object[] = (object)array('title'=>'test', 
                   'ndid'=>'999',
                   'type'=> 'chsmanuscript');

这会推送到数组,如果你需要它推到第三个位置,请在$ object中指定[#]

答案 2 :(得分:1)

您也可以这样做

$object[2] = (object)array('title'=>'test', 'nid'=>'999', 'type'=>'chsmanuscript');