2016-02-12 139 views
-1

我有數組這樣的數組:把鑰匙和一個關聯數組的值到另一個關聯數組

array(2) { 
    [0]=> 
    array(2) { 
    ["ssmenu_id"]=> 
    string(1) "5" 
    ["ssmenu_titre"]=> 
    string(10) "newsletter" 
    } 
    [1]=> 
    array(2) { 
    ["ssmenu_id"]=> 
    string(1) "6" 
    ["ssmenu_titre"]=> 
    string(9) "sous-test" 
    } 
} 

如何從獲取到:

array(2) { 
5 => "newsletter", 
6 => "sous-test" 
} 

我曾嘗試過各種使用foreach的東西,因爲,列表...不能讓我的頭在附近。

+0

向我們展示你嘗試過什麼。 –

+0

以適當的php格式發佈你的數組 –

回答

2
$res = array(); 
foreach($arr as $item){ 
     $res[$item['ssmenu_id']] = $item['ssmenu_titre']; 
} 

var_dump($res); 

輸出:

array(2) { 
    [5]=> 
    string(10) "newsletter" 
    [6]=> 
    string(9) "sous-test" 
} 
+0

你可以發佈輸出嗎? –

1

嘗試以下解決方案:

$array = array(
    array(
     "ssmenu_id" => 5, 
     "ssmenu_titre" => "newsletter", 

    ), 
    array(
     "ssmenu_id" => 6, 
     "ssmenu_titre" => "sous-test", 

    ), 

); 

$res = array(); 
foreach($array as $item){ 
     $res[$item['ssmenu_id']] = $item['ssmenu_titre']; 
} 

print_r($res); 

輸出:

Array 
(
    [5] => newsletter 
    [6] => sous-test 
) 
0

我建議使用array_flip()功能。由於這是一個多維數組,因此您需要遍歷它。在我鏈接到的PHP頁面的評論中有一些例子,但使用此函數時這是一項非常簡單的任務。

2

隨着PHP 5> = 5.5.0和PHP 7,您可以使用array_column()

$array = [ 
    [ 
     "ssmenu_id" => 5, 
     "ssmenu_titre" => "newsletter", 

    ], 
    [ 
     "ssmenu_id" => 6, 
     "ssmenu_titre" => "sous-test", 

    ], 

]; 

print_r(array_column($array, 'ssmenu_titre', 'ssmenu_id')); 

/* Output: 

Array 
(
    [5] => newsletter 
    [6] => sous-test 
) 

*/ 
相關問題