2016-02-12 141 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 
) 

*/ 
相关问题