Я хочу напечатать счет от 1 до 10 в текстовом файле, используя php - PullRequest
1 голос
/ 22 июня 2019

Я пытаюсь подсчитать от 1 до 10 в файле, используя циклы PHP, но это не работает, как я могу исправить этот код

Я использую PHP 7+ и пытался использовать цикл for, а затем они использовали переменную приращения в цикле foreach, но она все еще не работала

<?php

    for ($i=0; $i <= 10; $i++) {

        $fp = fopen('lidn.txt', 'w');

    $a = [$i];
    foreach ($a as $value) {
        fwrite($fp ,$i);


        echo "$value";

    fclose($fp);

}
}

?>

Я ожидал, что в текстовом файле будет 012345678910 но я получаю только 10

Ответы [ 2 ]

1 голос
/ 22 июня 2019

Каждый раз, когда вы открываете файл, вы помещаете курсор в начало файла, а затем перезаписываете его последующими fwrite вызовами.

Для такой задачи вы должны открыть только один файл, выполните все записи, а затем закройте его:

<?php
    $fp = fopen('lidn.txt', 'w');
    for ($i = 0; $i <= 10; $i++) {
        fwrite($fp, $i);
    }
    fclose($fp);
?>
0 голосов
/ 22 июня 2019

Вы можете использовать file_put_contents с range и implode вместо зацикливания

file_put_contents('lidn.txt', implode('',range(0,10)));
...