0

这是 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
      )
)

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

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

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

4

3 回答 3

2

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

$object[2] = new stdClass();
$object[2]->title = 'test';
$object[2]->nid   = '999';
$object[2]->type  = 'chsmanuscript'
于 2012-11-15T00:04:44.313 回答
1
 $object[] = (object)array('title'=>'test', 
                   'ndid'=>'999',
                   'type'=> 'chsmanuscript');

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

于 2012-11-15T00:07:27.610 回答
1

你也可以这样做

$object[2] = (object)array('title'=>'test', 'nid'=>'999', 'type'=>'chsmanuscript');
于 2012-11-15T00:10:13.920 回答