用foreach向数组中添加键和值


Add keys and values to array with foreach

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

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

你想:

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

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

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

更重要的是,你的代码只是将一个数组复制到另一个数组,我不知道目的是什么。

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

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

你要做的是在你的空数组中注入数据,像这样:

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