2016-08-04 40 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」爲'3',那麼'$ i <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在for循環中,從而你改變/覆蓋的,將打印的值作爲最後一次出現價值$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和您正在打印一個,因此每次更換,您可以存儲到數組和轉儲可變循環結束後,

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)