无法将自定义键添加到现有数组php

时间:2017-01-15 08:31:31

标签: php arrays

我有一个名为“$ 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) }

1 个答案:

答案 0 :(得分:0)

你有没有试过这个..

 foreach($decodeaddons as $addons){
                if(in_array($addons['id'], $AddonArray)){

                    $apptAddons[$addons['id']] = $addons['name'];
                }           
            }