Php 如果声明挂断
我有一个while循环,它包含一个if语句。while循环工作正常,但是当我为通过while循环的每个值运行下面的if语句,并且if语句返回true时,脚本挂起,我得到了最长30秒的执行时间错误 我不确定它是在创建一个无限循环还是什么。有人能发现问题吗Php 如果声明挂断,php,regex,if-statement,while-loop,infinite-loop,Php,Regex,If Statement,While Loop,Infinite Loop,我有一个while循环,它包含一个if语句。while循环工作正常,但是当我为通过while循环的每个值运行下面的if语句,并且if语句返回true时,脚本挂起,我得到了最长30秒的执行时间错误 我不确定它是在创建一个无限循环还是什么。有人能发现问题吗 $size = count($_POST['itemname']); // start a loop in order to update each record $i = 0; while ($i < $size) { // defin
$size = count($_POST['itemname']);
// start a loop in order to update each record
$i = 0;
while ($i < $size) {
// define each variable
$itemname= $_POST['itemname'][$i];
$id = $_POST["id"][$i];
if(preg_match('/[A-Za-z]/',$itemname)) {
echo("has words");
} else {
//update code here
}
}
$size=count($\u POST['itemname']);
//启动循环以更新每个记录
$i=0;
而($i<$size){
//定义每个变量
$itemname=$_POST['itemname'][$i];
$id=$_POST[“id”][$i];
if(preg_match('/[A-Za-z]/',$itemname)){
echo(“有词”);
}否则{
//在此更新代码
}
}
您永远不会增加$i
,这就是挂起它的原因,因为它总是<$size
while ($i < $size) { // changed this to >
// define each variable
$itemname= $_POST['itemname'][$i];
$id = $_POST["id"][$i];
$i++; // increment $i
while($i<$size){//将此更改为>
//定义每个变量
$itemname=$_POST['itemname'][$i];
$id=$_POST[“id”][$i];
$i++;//增量$i
您永远不会增加$i
。请尝试使用for循环,因为它们更加明确。您永远不会在while循环中更改$i您需要在if语句之外的某个地方增加$i。您必须为每个循环增加$i,否则一旦它始终通过,如果它是真的话
将$i++添加到最后两个
}
}
看来
}
$i++;
}使用
foreach
循环,这可能会简单得多。