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


putting key and value of one associative array into another associative array

我有一个这样的数组数组:

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,for,list...无法理解它。

使用 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
)
*/
$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"
}

请尝试以下解决方案:

$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
)

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