是否可以使用一些PHP内置函数将以下数组转换为包含id
值作为键并且label
的值作为关联值的数组?如果没有什么是有效的方式?
感谢。
输入数组:
Array
(
[0] => Array
(
[id] => 2
[label] => MTD-589
)
[1] => Array
(
[id] => 3
[label] => MTD-789
)
)
输出数组:
Array
(
[2] => MTD-589,
[3] => MTD-789,
)
答案 0 :(得分:2)
我不知道任何内置函数,但我会这样做:
假设$originalArray
为您要转换的数组
$newArray = array();
foreach ($originalArray as $element)
$newArray[$element["id"]] = $element["label"];
输出结果
var_dump($newArray);
答案 1 :(得分:1)
介绍array_column(仍在PHP 5.5 Beta中)。
$new_array = array_column($your_array 'label', 'id');
<强>输出强>:
Array
(
[2] => MTD-589,
[3] => MTD-789,
)
使用array_walk。
array_walk($array, function($a) use (&$return) { $return[$a['id']] = $a['label']; });
print_r($return);
答案 2 :(得分:0)
如果您可以使一个数组包含您的ID并且一个数组包含您的标签,则可以使用array_combine将两者合并为键/值http://php.net/manual/en/function.array-combine.php