从多维数组创建新数组

时间:2010-07-28 09:34:23

标签: php

我有这个多维数组:

Array (
    [0] => Array ( 
        [id] => 1 
        [list_name] => List_Red
    ) 
    [1] => Array (
        [id] => 2
        [list_name] => List_Blue 
    )
)

...我想创建一个只包含[id]的新数组。

如果你们能帮助我^^

,我将非常感激

提前致谢。

3 个答案:

答案 0 :(得分:2)

@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>";
}

答案 1 :(得分:1)

foreach($array as $label => $data)
{
    $final[] = $data['id'];
}

答案 2 :(得分:1)

您可以像这样使用array_map

$new_array = array_map( function( $a ) { return $a['id']; }, $orig_array );

这是假设PHP 5.3,对于PHP&lt; 5.3你必须使用create_function:

$new_array = array_map( create_function( '$a', 'return $a["id"];' ), $orig_array );