2016-08-04 11 views
0

私はforeachの中のすべてのデータを表示したい ... foreachループでダンプ問題を抱えている、例:PHPのforeachループ表示すべてのデータが

$data[1] = "Hello"; 
$data[2] = "my"; 
$data[3] = "World"; 

が、私はこのスクリプトを使用して作業

for($i=1; $i<3; $i++){ 
     $mydata = $data[$i]; 
     echo $mydata; } 

これは問題ありません。 しかし、次のスクリプトに$ mydataを含める場合(txtで保存する場合)、最後の単語のみが表示されます。

なぜですか?変数

+0

'$ data [3] =" World ";' ....のようにIDが '3 'の場合、' $ i <= 3'にする必要があります。 'foreach()'ループ.... [そのループではうまくいきません](https://3v4l.org/8Gt0d) –

+0

すべての値をいくつかの文字で直接連結することができます[php]の 'implode'メソッドを使ってください(http://php.net/manual/en/function.implode.php) –

答えて

0

からすべてのデータを含めるためにどのようにこれを試してみてください:

$mydata = ''; 
for($i=1; $i<3; $i++){ 
    $mydata .= $data[$i]; 
} 
echo $mydata; 
+0

それは動作します!ありがとうたくさん:) –

0

をあなたはオーバーライド/ 変化しているとして、それが最後に出現する値のように値を出力しますので、あなたはループの内側だけecho$mydataを持っています$mydata可変の値。このような

用途:

$mydata = '';//Storing $mydata variable 
for($i=1; $i<3; $i++){ 
    $mydata .= $data[$i]; //adding up the values to $mydata 
} 
var_dump($mydata); //dumps all the $data value. 
+0

それは動作します!ありがとうたくさん:) –

+0

喜んで助けてください。 :) –

1

するたびに変数$mydataとあなたのアールを上書きされている1つは、それが毎回交換することを印刷し、あなたは、

配列にそれを格納し、ループが終了した後、その変数をダンプすることができます
for($i=1; $i<3; $i++){ 
    $mydata[] = $data[$i]; 
    echo $data[$i]; 
} 

echo '<pre>'; 
print_r($mydata) 

# You can directly dump the all the variable as follow 
echo implode('\n', $mydate) 
# or 
echo implode('\n', data)