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

var_dump($array);

収量:

array(2) { [0]=> string(3) "あね" [1]=> &string(3) "tAo" }

私はもっ​​と次のようなものを期待していました:

[0]=> [0]=> "1" [1]= 1
[1]=> [0]=> "2" [1]= 2

間違った内部ブロックを実行していますforeachか、または単一から 2D 配列に移動するために使用する必要がある別の方法はありますか?

4

3 に答える 3

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 に答える
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 に答える
0

これを使用して、PHP で 2 次元配列を定義できます。

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