【问题标题】:Merge two arrays where keys match [duplicate]合并两个键匹配的数组[重复]
【发布时间】:2011-03-03 02:27:56
【问题描述】:

我有两个具有匹配键的数组,我需要将两者的值合并到一个新数组中。我正在殴打自己试图弄清楚这一点。我该怎么做?

$options = array(
    "0" => true,
    "1" => true,
    "2" => false,
    "3" => true
);

$columns = array(
    "0" => "first",
    "1" => "last",
    "2" => "id",
    "3" => "group"
);

$what_I_need = array(
    "first" => true,
    "last" => true,
    "id" => false,
    "group" => true
);

【问题讨论】:

    标签: php arrays


    【解决方案1】:
    $whatYouNeed = array_combine($columns, $options);
    

    这是假设数组的顺序正确。否则:

    $whatYouNeed = array();
    foreach ($columns as $key => column) {
        $whatYouNeed[$column] = $options[$key];
    }
    

    【讨论】:

    • $whatYouNeed !!!你赢了我的what_i_need!
    • @Peter 哈哈,我笑得很开心
    • @dagon 我对你有感觉......但是 deceze 让我崩溃并给了我答案......你会怎么做?
    • C'est la vie。我不会为此失眠。
    【解决方案2】:
    $what_I_need = array_combine($columns , $options);
    

    array_combine

    【讨论】:

      【解决方案3】:
      array array_combine ( array $keys , array $values );
      
      $newArray = array_combine($columns, $options);
      print_r($newArray);
      

      应该给你:

      array(
          "first" => true,
          "last" => true,
          "id" => false,
          "group" => true
      );
      

      PHP array_combine

      【讨论】:

        猜你喜欢
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 2019-04-08
        • 1970-01-01
        • 2022-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多