我有一个名为“$ apptAddons”的现有数组,我想拥有自定义键值对。我目前完成此任务的代码如下:
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_dump:
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) }
答案 0 :(得分:0)
你有没有试过这个..
foreach($decodeaddons as $addons){
if(in_array($addons['id'], $AddonArray)){
$apptAddons[$addons['id']] = $addons['name'];
}
}