Php Can';t向现有数组添加自定义键
我有一个名为“$apptAddons”的现有数组,我希望有一个自定义的键值对。我目前的代码如下:Php Can';t向现有数组添加自定义键,php,arrays,Php,Arrays,我有一个名为“$apptAddons”的现有数组,我希望有一个自定义的键值对。我目前的代码如下: foreach($decodeaddons as $addons){ if(in_array($addons->id, $AddonArray)){ $apptAddons[$addons->id] = $addons->name; } } 当我这样做并打印出数
foreach($decodeaddons as $addons){
if(in_array($addons->id, $AddonArray)){
$apptAddons[$addons->id] = $addons->name;
}
}
当我这样做并打印出数组时,它看起来如下所示:
Array ( [0] => Marketing Addon [1] => Same Day Delivery )
作为参考,它应该是以下内容:
Array ( [64251] => Marketing Addon [3370] => Same Day Delivery )
$addons->id
本身就可以打印出正确的数字,它不会影响数组中每个值的键。我不确定我做错了什么,因为这就是我向现有数组添加自定义键的方式
更新:我应该在前面提到,我正在解析这个特定代码中API调用的JSON响应,如果这改变了什么的话
第二次更新:根据x01saa的要求,这里是来自if部分的var_转储:
object(stdClass)#22 (5) { ["id"]=> int(64251) ["name"]=> string(14)
"Marketing Addon" ["duration"]=> int(0) ["price"]=> string(5) "50.00"
["private"]=> bool(false) } object(stdClass)#24 (5) { ["id"]=> int(3370)
["name"]=> string(17) "Same Day Delivery" ["duration"]=> int(0) ["price"]=>
string(5) "25.00" ["private"]=> bool(false) }
你试过这样做吗
foreach($decodeaddons as $addons){
if(in_array($addons['id'], $AddonArray)){
$apptAddons[$addons['id']] = $addons['name'];
}
}
你试过这样做吗
foreach($decodeaddons as $addons){
if(in_array($addons['id'], $AddonArray)){
$apptAddons[$addons['id']] = $addons['name'];
}
}
$apptAddons['customKey']='customValue'代码>尝试在if块中var\u dump($addons)
并更新您的问题。这非常有用。$apptAddons['customKey']='customValue'代码>尝试在if块中var\u dump($addons)
并更新您的问题。这是非常有用的。我试过了,它出现了一个错误“PHP致命错误:不能使用stdClass类型的对象作为数组”我试过了,它出现了一个错误“PHP致命错误:不能使用stdClass类型的对象作为数组”