【问题标题】:How to combine these two array into one array using php? [duplicate]如何使用php将这两个数组组合成一个数组? [复制]
【发布时间】:2015-06-04 06:42:53
【问题描述】:

给定这两个数组:

$name=array("alice","ken","wendy");

$frequent=array(3,6,9);                                       

我试着把它组合起来

$data = array($name=>$frequent);

但它失败了。有人可以帮忙吗?

我想要这个:

$data = array(
      'alice' => 3,
      'ken' => 6,
      'wendy' => 9,
 );

【问题讨论】:

  • 你的预期输出是什么
  • 您的预期结果是什么?
  • 我想从数据库中取出数据并存储在不同的数组中,以便为它绘制图表。但是当我取出数据时会出现问题。我只是取出部分编码。 $namelist=array($name); $no=数组($count); $data = array_combine($namelist, $no); print_r ($data);我得到的输出只有 1 个数据,因为数据库内应该有 2 个数据。我该如何解决?

标签: php arrays


【解决方案1】:

你可以使用array_combine

$combined_array = array_combine($name, $frequent);

此处的文档:http://php.net/manual/en/function.array-combine.php

【讨论】:

    【解决方案2】:

    你可以使用array_combine函数作为

    语法:

    array_combine ( array $keys , array $values )
    

    所以你的就像

    $name=array("alice","ken","wendy"); 
    $frequent=array(3,6,9);
    $result = array_combine($name,$frequent);
    

    输出

    Array
    (
        [alice] => 3
        [ken] => 6
        [wendy] => 9
    )
    

    【讨论】:

      【解决方案3】:
      [akshay@localhost tmp]$ cat test.php
      <?php
      
      $name=array("alice","ken","wendy");
      $frequent=array(3,6,9);
      
      // One easy way is
      print_r(  array_combine($name, $frequent) );
      
      
      // Another lengthy way
      while ( ($key = array_shift($name)) && ($value = array_shift($frequent)) )
      {
          $combined[$key] = $value;
      }
      
      print_r( $combined );
      
      ?>
      

      输出

      [akshay@localhost tmp]$ php test.php
      Array
      (
          [alice] => 3
          [ken] => 6
          [wendy] => 9
      )
      Array
      (
          [alice] => 3
          [ken] => 6
          [wendy] => 9
      )
      

      【讨论】:

        【解决方案4】:

        这样写$combined_array = array_combine($name, $frequent);

        【讨论】:

        • 写下其他用户写的描述性答案。并使用正确的格式。
        【解决方案5】:

        如果你想手动完成。

        <?php
            $name=array("alice","ken","wendy");
            $frequent=array(3,6,9);
            $combined=array();
            for($i=0; $i<3; $i++)
            {
                $combined[$name[$i]]=$frequent[$i];
            }
            var_dump($combined);
        ?>
        
        猜你喜欢
        • 2011-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-16
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多