PHP使用数组内容重命名多维数组中的数组键

时间:2018-03-08 23:09:54

标签: php arrays

我有以下数组:

array(2) 
{
      [0]=>
      array(358) {
        ["listing ID"]=>
        string(0) "253321"
        ["buyername"]=>
        string(0) "will"
        ["buyeraddress"]=>
        string(0) "938 s st"
    }
      [1]=>
      array(358) {
        ["listing ID"]=>
        string(0) "1231231"
        ["buyername"]=>
        string(0) "matt"
        ["buyeraddress"]=>
        string(0) "22 n st"
      }
    }

使用PHP,如何将对象[0] =>数组(358)从0重命名为另一个在该自己的数组中拉出的名称...例如,命名为[0] =>数组(358)到["列出ID"] => string(0)" 253321" 。所以该对象现在将被命名为[253321] =>数组(358)。

和[0] =>数组(358)将更改为[1231231] =>数组(358),它是该对象数组中的ListingID。

2 个答案:

答案 0 :(得分:2)

你可以这样做......

foreach ($array as $k => $v) {
    $array[$v['listing ID']] = $v;
    unset($array[$k]);
}

迭代数组。添加一个新元素,并使用当前元素中的值为其分配一个键。然后删除当前元素。或者遍历您的数组,只需将新元素添加到您刚刚实例化的新数组中。

答案 1 :(得分:1)

array_column的一个用途是按特定列索引数组:

$array = array_column($array, null, 'listing ID');

但是,如果这是来自数据库,那么你应该在获取行时以这种方式构建它。