Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的偶然无限while循环_Php_Loops_While Loop_Infinite Loop - Fatal编程技术网

PHP中的偶然无限while循环

PHP中的偶然无限while循环,php,loops,while-loop,infinite-loop,Php,Loops,While Loop,Infinite Loop,嗨,我已经创建了一个while循环,但无法理解为什么它会永远循环。有人能解释一下原因吗 while ($i<3){ if ($i=1){ $x='psu'; }else if ($i=2){ $x='cases'; } $sqlcpu = "SELECT * FROM $x WHERE name LIKE '%{$term}%'"; $query = mysqli_query($db, $sqlcpu); while ($row = mysqli_fetc

嗨,我已经创建了一个while循环,但无法理解为什么它会永远循环。有人能解释一下原因吗

while ($i<3){
  if ($i=1){
    $x='psu';
  }else if ($i=2){
    $x='cases';
  }
  $sqlcpu = "SELECT * FROM $x WHERE name LIKE '%{$term}%'";
$query = mysqli_query($db, $sqlcpu);

while ($row = mysqli_fetch_array($query)){
?><br /> Name: <a  href="productpage<?php $x ?>.php?idcpu=<?php echo $row['id$x'] ?>"><?php echo $row['name'];?></a>
<?php
echo ' Price: &pound;'.$row['price'];
}
  $i++;
}
while($i
名称: 如果($i=1)这里的赋值是1到$i,而不是比较1和$i,那么使用

if ($i==1)
相反

除了for/if elseif构造之外,您还可以使用


很难看到发生了什么。您的缩进和样式很难读取。在if语句中使用==。
if(i==1)
只是为了添加。
$i
总是1,因为它被重新分配给1(而不是检查是否相等)每一次循环迭代。然后是可能的、缺失的和缺失的。谢谢,我已经有一段时间没有使用php了,我应该注意到这一点。不幸的是,我的页面中有一个被弱化的片段,这意味着我不能使用数组,但谢谢你的建议
foreach( array('psu', 'cases') as $table ) {
    $sqlcpu = "SELECT * FROM $table WHERE name LIKE '%{$term}%'";