創造新的陣列我有這個多維數組:從多維數組
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