【问题标题】:In PHP, how do I find the value associated with a specific key在 PHP 中,如何找到与特定键关联的值
【发布时间】:2010-09-16 07:05:34
【问题描述】:

我有两个数组。一个包含id=>count,另一个包含id=>name。我正在尝试生成一个name=>count 的数组。有关执行此操作的简单方法的任何建议?

我查看了Array Functions in the PHP Manual 并没有看到任何突出的做我想做的事,所以我猜我需要一个功能组合,但我无法想出一些东西这并不令人费解。

【问题讨论】:

    标签: php arrays associative-array


    【解决方案1】:

    类似:

    foreach($countA as $id => $count)
    {
        $newArray[$nameA[$id]] = $count;
    }
    

    这确实假设键在两个数组之间是对应的,因为否则您的要求不明确。

    【讨论】:

      【解决方案2】:

      使用array_combine...

      $countArray = array(0 => 1, 1 => 5);
      $namesArray = array(0 => "Bob", 1 => "Alice");
      
      $assocArray = array_combine($namesArray, $countArray);
      

      编辑:这是针对评论 #2 中表达的新要求的修订解决方案

      $assocArray = array();
      foreach($namesArray as $id => $name) {
          $assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
      }
      

      【讨论】:

      • 假设这两个数组有连续的数字键。
      • 假设两个数组大小相同。就我而言,他们不是。 count 数组等于或小于 id/name 数组。
      • (但是,我没有在原始帖子中指定尺寸限制。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2021-03-16
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多