创造新的阵列我有这个多维数组:从多维数组
Array (
[0] => Array (
[id] => 1
[list_name] => List_Red
)
[1] => Array (
[id] => 2
[list_name] => List_Blue
)
)
...我想从它创建一个只包含[ID]的一个新的数组。
我将不胜感激很多,如果你们能帮助我事先知道^^
感谢。
创造新的阵列我有这个多维数组:从多维数组
Array (
[0] => Array (
[id] => 1
[list_name] => List_Red
)
[1] => Array (
[id] => 2
[list_name] => List_Blue
)
)
...我想从它创建一个只包含[ID]的一个新的数组。
我将不胜感激很多,如果你们能帮助我事先知道^^
感谢。
@fabrik您的解决方案确实是正常工作,但它也是不正确的,因为PHP将抛出一个E_WARNING告诉你,你要追加到还不存在的数组。 总是使用初始化您的变量。
$newList = array();
foreach($myList as $listItem) {
$newList[$listItem['id']] = $listItem['list_name'];
}
这是现在所有list_names的列表,格式如下。
Array (
1 => List_Red
2 => List_Blue
)
您更容易一起工作,你现在可以遍历它像这样..
foreach($newList as $itemID => $itemName) {
echo "Item ID: $itemID - Item Name: $itemName<br>";
}
您可以使用array_map
这样的:
$new_array = array_map(function($a) { return $a['id']; }, $orig_array);
这是假设PHP 5.3 ,对于PHP < 5.3您必须使用create_function:
$new_array = array_map(create_function('$a', 'return $a["id"];'), $orig_array);
谢谢。我从中学到了很多东西:) – pitic 2010-07-28 16:22:42