Php 如何在对象数组中设置索引?
我有一个数组wk,对于这个输出Php 如何在对象数组中设置索引?,php,arrays,arraylist,multidimensional-array,Php,Arrays,Arraylist,Multidimensional Array,我有一个数组wk,对于这个输出 [wk] => Array ( [1] => Array ( [2] => stdClass Object ( [qty] => 2 [id] => 2
[wk] => Array
(
[1] => Array
(
[2] => stdClass Object
(
[qty] => 2
[id] => 2
[name] => Single 1 Tag Innenraum 2
)
[3] => stdClass Object
(
[qty] => 1
[id] => 3
[name] => test1
)
)
)
但我想在对象中添加新索引…如何添加它?任何想法…我试图做最后两天,但没有任何结果
我想要这样的输出:
[wk] => Array
(
[1] => Array
(
[2] => stdClass Object
(
[qty] => 2
[id] => 2
[name] => Single 1 Tag Innenraum 2
[1] => Array(
[name] => jiya
[sirname] => rathod
)
[2] => Array(
[name] => pinal
[sirname] => rathod
)
)
[3] => stdClass Object
(
[qty] => 1
[id] => 3
[name] => test1
)
)
)
我使用了array\u walk和array\u push,array\u merge函数
我得到了以上所有函数的这个错误
致命错误:未捕获错误:无法在中使用stdClass类型的对象作为数组您可以通过两种方法解决此问题: 1) 将对象转换为数组 2) 将新数组指定给对象,并将其命名为“persons”或类似名称:
$wk[1][2]->persons = array(); // Or via foreach, etc.
然后使用array_push插入该数组:
array_push($wk[1][2]->persons, '...');
您需要了解
stdClass对象
使用类变量名。因此,不可能使用数字1作为变量名。相反,你可以选择以下方式:
...
[2] => stdClass Object
(
[qty] => 2
[id] => 2
[name] => Single 1 Tag Innenraum 2
[one] => Array(
[name] => jiya
[sirname] => rathod
)
[two] => Array(
[name] => jiya
[sirname] => rathod
)
...
将数字替换为有效的变量名,例如如上所述的one
要添加新元素,可以调用:
wk[1][2]->one = Array(
[name] => jiya
[sirname] => rathod
);
可以通过
wk[1][2]->one
轻松访问。如果需要javascript,请添加一个文字符号示例。将对象转换为数组,然后添加IndexTest is to json\u对对象进行编码并解码回数组。检查此链接
wk[1][2]->one = Array(
[name] => jiya
[sirname] => rathod
);