有这样的数组:
Array
(
[0] => Array
(
[Slot_id] => 7048,
[name] => value
)
[1] => Array
(
[Slot_id] => 7049,
[name] => value
)
)
我想获得以下数组形式
Slot_id => Array
(
[0] => 7048,
[1] => 7049
)
目前我正在使用foreach
函数,还有其他最佳方法吗?
答案 0 :(得分:6)
如果您使用PHP> = 5.5,那么array_column
就是解决方案:
$result = array_column($input, 'Slot_id');
对于早期版本,可以手动foreach
,也可以选择:
array_map
:
// assumes PHP 5.3 for lambda function, for earlier PHP just do foreach
$result = array_map(function($row) { return $row['Slot_id']; }, $input);
array_walk
:
// assumes PHP 5.4 for short array syntax, for 5.3 use array() instead of []
$result = [];
array_walk($input, function($row) use (&$result) { $result[] = $row['Slot_id']; });
答案 1 :(得分:0)
使用array_column函数: https://php.net/manual/fr/function.array-column.php
$subArray = array_column ($your_array, 'Slot_id');