1
$i=0;
$array=array("one","two");
foreach($array as &$point)
{
   $point[$i]=array($point[$i], $i);
   $i++;
}

var_dump($array);

产量:

数组(2) { [0]=> 字符串(3) "Ane" [1]=> &string(3) "tAo" }

我期待更多类似的东西:

[0]=> [0]=> “一” [1]= 1
[1]=> [0]=> “二” [1]= 2

我是在foreach做错的内部块,还是应该使用另一种方法从单个数组变为二维数组?

4

3 回答 3

1

你的意思是这样的:

$i=1;
$array=array("one","two");
foreach($array as $j => $point)
{
   $array[$j]=array($point, $i);
   $i++;
}

var_dump($array);

输出:

array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "one"
    [1]=>
    int(1)
  }
  [1]=>
  array(2) {
    [0]=>
    string(3) "two"
    [1]=>
    int(2)
  }
}
于 2013-01-03T04:02:26.177 回答
1
$array = array("one","two");
foreach($array as $i => &$point)
{
   $point = array($point, $i + 1);
}

var_dump($array);

您的代码中有几个错误:

  1. 你应该分配给$point
  2. 你应该访问$point,而不是$point[$i]
  3. 如果您打开了错误输出(或者您查看错误日志),您会看到Array to string conversion代码错误。
于 2013-01-03T04:03:51.593 回答
0

您可以使用它在 PHP 中定义一个二维数组

$array = array(
  array(0, 1, 2),
  array(3, 4, 5),
);
于 2013-01-03T04:07:41.073 回答