将一个关联数组的键和值放入另一个关联数组中

时间:2016-02-12 08:04:22

标签: php arrays

我有一个像这样的数组:

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的各种各样的东西,因为,列表......无法理解它。

4 个答案:

答案 0 :(得分: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"
}

答案 1 :(得分: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
)

*/

答案 2 :(得分: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
)

答案 3 :(得分:0)

我建议使用array_flip()功能。由于这是一个多维数组,您需要循环它。我链接到的PHP页面的注释中有一些示例,但使用此函数时这是一项非常简单的任务。