php - 写入 .txt 文件,但我的 while 循环是无限的
问题描述
我正在使用 PHP 写入 txt 文件,但我的 while 循环是无限循环的。我看到了其他问题,他们提到没有添加计数器++,但我有递增计数器。为什么我的while循环无限循环?我想要完成的是每次在 html 表单上单击提交按钮时只添加一行代码。
PHP
<?php
if(isset($_POST['firstname']) && isset($_POST['lastname']))
{
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$filename ='person.txt';
$fp = fopen($filename, 'w');
$cntr = 0;
while(true){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
if(empty($firstname) && empty($lastname))
{
break;
}
$cntr++;
print($firstname . " " . $lastname . " " . "<br");
$output = $firstname . " " . $lastname . "\n";
fwrite($fp, $output);
} //END OF WHILE LOOP
}//END ISSET
fclose($fp);
?>
解决方案
使循环在代码中停止的唯一方法是 with break;
,这显然不会被调用。
您的计数器不会对代码做出任何贡献,只会增加自身。由于while(true)
总是评估为true
,它将永远循环。如果要使用计数器,则设置 while 循环的条件while($cntr < $max)
,但需要定义$max
为一个值,例如 10。
推荐阅读
- javascript - Uncaught SyntaxError: Unexpected identifier (Typescript for front end dev without framework)
- android - 我开发了一个应用程序,它可以完美地从 API 18 运行到 28,但它在 API 26 以下崩溃我不明白如何解决这个问题
- javascript - Rails Ajax 的 escape_javascript 有问题
- sql - 选择列表中的“DEV_EIMDW_BOJ_REPORTS.dbo.bojdeposit_tab.CUSTOMER_ID”列无效
- multithreading - 抛出异常时加入线程
- javascript - 从对象数组中删除键并将值转换为键值对
- mysql - 临时表开始抱怨ID不能为空
- javascript - 使用平铺打开图层保存画布地图
- java - .jar 输出到 python smtp 电子邮件
- python - 如何在 python 中循环使用 elementtree 并正确打印 XML?