PHP 变量值在 For Else 语句中意外更改



在下面的循环中,第一个var_dump是int(2(。 在最后一个var_dump中,值为 int(0(。 我不明白 $total_gals 的值在哪里变化。

<?php
$total_gals  = count( glob("images/*", GLOB_ONLYDIR) ); 
$loadnum = 0;
var_dump($total_gals);
if ($total_gals = 0) {
    echo "<script>alert('No Galleries to Load');</script>";
    var_dump($total_gals);
} elseif ($total_gals > 5) {
    $loadnum = 5;
} else {
    $loadnum == $total_gals;
}
var_dump($total_gals);
?>

因为if ($total_gals = 0) {需要if ($total_gals == 0) {

如果没有第二个 =,您将 0 分配给变量,该变量的计算结果始终为 if 语句的 true。

首先,

如果您要将total_gals重新分配给0,这显然是正确的陈述

   if ($total_gals = 0) {

最新更新