簡體   English   中英

從多維數組創建新數組

[英]create new array from a multidimensional array

我有這個多維數組:

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>";
}
foreach($array as $label => $data)
{
    $final[] = $data['id'];
}

您可以這樣使用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 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM