首页 > 解决方案 > 我想使用 php 在文本文件中打印 1 到 10 个计数

问题描述

我正在尝试使用 PHP 循环在文件中计数 1 到 10,但这不起作用如何修复此代码

我正在运行 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

标签: phparraysfileloops

解决方案


每次打开文件时,将光标放在文件的开头,然后用后续fwrite调用覆盖它。

对于这样的任务,您应该只打开一个文件,执行所有写入,然后关闭它:

<?php
    $fp = fopen('lidn.txt', 'w');
    for ($i = 0; $i <= 10; $i++) {
        fwrite($fp, $i);
    }
    fclose($fp);
?>

推荐阅读