如何在php中的stdClass数组中推送数组


How to push array in stdClass array in php

我有一个从数据库中获取的数组。例如:

$db_record = $this->search_model->search_Employee();
foreach ($db_record as $db_data) {
    echo $db_data->phone_number;
}

在上面的例子中,我可以在没有任何问题的情况下获取记录,但我想稍后在$db_data中添加其他数据。

foreach ($db_record as $db_data) {
    echo $db_data->phone_number;
    $db_data[]['new_value']='prashant';
}

但是$db_data[]['new_value']='prashant';抛出低于错误

Cannot use object of type stdClass as array in

如果有人能帮助我度过5个多小时,那就太好了。

尝试 $db_data->new_value ='prashant';

您必须创建一个新的stdClass对象:

$tmp = new stdClass;
$tmp->new_value = 'prashant';
$db_data[] = $tmp;
 foreach ($agent as $key => $value) {
   $value->any = 'ssds';
}

尝试使用$value代替键和对象

$db_data是一个对象,不能像数组一样使用它们。您不需要向对象添加一个属性,然后用一个空数组初始化它们。

示例:

foreach ($db_record as $db_data) {
    echo $db_data->phone_number;
    $db_data->empty_array=array();
    $db_data->empty_array['new_value']='prashant';
}