【问题标题】:Store values from multiple arrays into one array in PHP在 PHP 中将多个数组中的值存储到一个数组中
【发布时间】:2018-12-20 06:29:36
【问题描述】:

我试图将多个数组中的值放入一个字符串中,然后将这些字符串放入一个新数组中。

在下面的代码中,我遍历了一个 XML 文件。如果我将 $p 元素转储到正下方的循环中,它会返回这组数组:

array (4)
    id => "1" (5)
    number => "number example" (10)
    name => " name example " (37)
array (4)
    id => "2" (4)
    number => "number example 1" (10)
    name => " name example 1" (56)
array (4)
    id => "3" (5)
    number => "number example 2" (12)
    name => "name example 2" (40)
array (4)
    id => "4" (5)
    number => "number example 3" (14)
    name => "name example 3" (34)

现在,这是我在上面谈到的循环代码。

$array=[];
foreach ($array['a']['b']['c'] as $p) {
    $array[] = [
    $p["id"]=>$p["name"] . $p["number"]
    ]
}

我的代码的问题是,它返回给我这组另一个数组:

array (4)
    0 => array (1)
        1=> "number namename example 1" (21)
    1 => array (1)
        2 => "number namename example 2" (21)
    2 => array (1)
        3 => "number namename example 3" (21)
    3 => array (1)
        4 => "number namename example 4" (21)

但我试图达到的目标,是这种数组:

array (4)
     1 => "number namename example 1" (21)
     2 => "number namename example 2" (21)
     3 => "number namename example 3" (21)
     4 => "number namename example 4" (21)

【问题讨论】:

    标签: php arrays xml object foreach


    【解决方案1】:

    将循环更改为以下内容:

    foreach ($array['a']['b']['c'] as $p) {
        $array[$p['id']] = $p["name"] . $p["number"];
    }
    

    【讨论】:

      【解决方案2】:

      试试这个 php array_merge 函数:

      $arr1 = array(1,2);
      $arr2 = array(3,4);
      $res = array_merge($arr1, $arr2);
      print_r($res);
      

      【讨论】:

      • 好的,这应该可以,但上面的代码只是示例。实际上,我有 7 000 个结果,我不能像这样写 7 000 个合并...
      【解决方案3】:
      $array=[];
      foreach ($array['a']['b']['c'] as $p) {
          $array[$p[$id]] = [$p["name"] . $p["number"]];
      }
      

      【讨论】:

      • 谢谢,它有效,我接受了上面更快的答案。
      【解决方案4】:

      解决方法是:

      foreach ($array['a']['b']['c'] as $p) {
          $array[$p['id']] = $p["name"] . $p["number"];
      }
      

      在这里你添加一个字符串作为数组元素在某个键$p['id']下。

      【讨论】:

      • 这也行,我刚刚接受了上面的答案,因为你们俩同时回答了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 2021-12-29
      • 2014-07-26
      • 2018-04-23
      相关资源
      最近更新 更多