我有以下数组:
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。
答案 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');
但是,如果这是来自数据库,那么你应该在获取行时以这种方式构建它。