【问题标题】:putting key and value of one associative array into another associative array [duplicate]将一个关联数组的键和值放入另一个关联数组[重复]
【发布时间】:2016-05-23 07:18:38
【问题描述】:

我有一个这样的数组:

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 格式发布您的数组

标签: php arrays


【解决方案1】:
$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"
}

【讨论】:

  • 你也可以发布输出吗?
【解决方案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
)

*/

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      尝试以下解决方案:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-14
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多