【问题标题】:Add keys and values to array with foreach [closed]使用 foreach 将键和值添加到数组 [关闭]
【发布时间】:2011-12-11 21:40:48
【问题描述】:
$arr = array(

      foreach($data as $i => $c):
            $sub[$i] = $c;
      endforeach;

);

这个循环的构造有什么问题?

【问题讨论】:

  • 不清楚你想在这里完成什么。
  • 你想在这里达到什么目的..?
  • 我想为我的数组添加新键
  • 看起来像是在尝试做$arr[$sub] = $data; 之类的时髦尝试。
  • 取决于原始键是什么:print_r(array_values($array));

标签: php arrays


【解决方案1】:

你想要:

  $sub = array();
  foreach ($data as $i => $c):
        $sub[$i] = $c;
  endforeach;

  $sub = array();
  foreach ($data as $i => $c) {
        $sub[$i] = $c;
  }

您的代码无效,因为您不能使用语句(如 foreach)作为数组参数。

更重要的是,您的代码只是将一个数组复制到另一个数组中,我不想要什么目的。我认为你应该阅读一些好的 PHP 手册。

【讨论】:

  • @webarto 是的,我提到过。我只是想显示 OP 编写的有效 PHP 代码版本(带有 foreach 循环)。
【解决方案2】:

我会说,只是因为它是错误的。

您不能在 array() 参数中执行代码。

您要做的是在空数组中注入数据,如下所示:

  $sub = array();
  foreach($data as $i => $c)
        $sub[$i] = $c;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多