2013-04-12 65 views
1

一個字符串,這是我的嘗試: -for循環的結果保存爲文本文件

<?php 
for($i=1;$i<100000;$i++) 
{ 
    echo $i.','; 

} 
// save the new xml file 
file_put_contents('tab_id.text', $i); 
echo ' Creat Text File'; 
?> 

這工作,但它不僅節省了最後的循環值。我想保存所有循環的輸出。

+0

很顯然,這將文件作爲其寫入文件是圈外的命令,在打印最後一個值。所以首先,整個循環將被執行,最後的值將是'file_put_contents('tab_id.text',$ i)的輸入;' –

回答

1

$i迭代器變量在每次循環迭代時遞增。它不會聚合其先前的值,因此在這種情況下,自然在循環的末尾$i評估爲分配給它的最後一個值,即99999

爲了達到您所期望的效果,只需將$i的不同值彙總到單獨的變量中,因此在循環結束時,此變量將是由$i的所有值組成的字符串。

例如:

$all_values = ''; 
for($i=1;$i<100000;$i++) { 
    $all_values .= $i.','; 
} 

file_put_contents('tab_id.text', $all_values); 
2

試試這個:

<?php 
$px = ''; 
for($i=1;$i<100000;$i++) 
{ 
    $px.=$i.','; 

} 

// save the new xml file 
file_put_contents('tab_id.text', $px); 
echo ' Creat Text File'; 
?> 
+0

你試過了嗎?它工作? –

0
<?php 
    for($i=1;$i<100000;$i++) 
    { 
     $output .= $i.','; 
    } 
    // save the new xml file 
    file_put_contents('tab_id.text', $output); 
    echo ' Creat Text File'; 
?> 
0

使用此

$str = ""; 
for($i=1;$i<100000;$i++) 
{ 
    $str.= $i.','; 

} 
// save the new xml file 
file_put_contents('tab_id.text', $str); 
echo ' Creat Text File'; 
0

嘗試使用另一個變量是這樣,因爲i每次更改值爲每一個lo op:

<?php 
$k=""; 
for($i=1;$i<100000;$i++) 
{ 
    echo $k.=$i.','; 

} 
    // save the new xml file 
    file_put_contents('tab_id.text', $k); 
echo ' Creat Text File'; 
?> 
0

你做了一個回聲,這不會保存任何值。

試試這個:

<?php 
echo 'Start creating text file'; 
$result = ''; 
for($i=1;$i<100000;$i++) 
{ 
    $result .= $i.','; 
    echo 'Adding '.$i.', to result'; 
} 
    // save the new xml file 
    file_put_contents('tab_id.text', $result); 
echo 'End creating text file'; 
?>