2016-07-20 12 views
0

変数($ i、$ j)を情報配列に格納するにはどうすればよいのですか?ループの外へforループの各繰り返しで配列がオーバーライドされています

<?php 
    for($i=0,$j=0;$i<3;$i++,$j++){ 
     $members=array($i,$j); 
     $info=array(); 
     foreach ($members as $k) { 
      $info[]=$k; 
     } 
    }  
    print_r($info); 
?> 
+5

をも行うことができます試してみて、あなたが達成しようとしているものを平易な英語で説明し、上記のコードは、コンテキストなしで無意味ですしてください。 – Steve

+1

単にループの外側に '$ info'を宣言すれば、あなたのimediateの問題は解決しますが、あなたがそれを説明すれば、問題全体をより良い方法で解決できると確信しています – Steve

+0

配列は最後の値((0,0)、(1,1)、(2,2))を格納したい – art

答えて

1

だけ入れ配列変数$infoは、それは各反復で上書きされます。

<?php 
$info=array(); 
for($i=0,$j=0;$i<3;$i++,$j++){ 
$members=array($i,$j); 

foreach ($members as $k) { 
    $info[]=$k; 
} 
} 
print_r($info); 
?> 

あなたの出力を確認してください。https://eval.in/608707

私はあなたの目的を知りませんが、あなたは多くの方法

  1. https://eval.in/608744

  2. https://eval.in/608721

  3. ことによってそれをも行うことができます
+1

コードはまだ意味がありません - なぜ '$ members'と最も内側のループで気になりますか? – Steve

+0

はい、あるいは '$ j'カウンタとしてのhttps://eval.in/608745も無駄です。おそらくオペアンプには何らかの理由がありますが、詳しいことは分かりませんが、これは不明です。 – Steve

0

これは

<?php 
    $info=array(); 
    for($i=0,$j=0;$i<3;$i++,$j++){ 
    $info=array_merge($info,array(array($i,$j))); 

    } 
    print_r($info); 
    ?> 
+0

または、for($ i = $ 0、$ i); '... – deceze

+0

' $ info = array_map(null、範囲(0、2)、範囲(0、2)); ' – deceze

関連する問題