【发布时间】:2014-07-26 18:44:34
【问题描述】:
如果以前有人讨论过这个问题,请原谅我是新手。
所以我在 PHP 中遇到了非常奇怪的 IF 条件行为问题。
假设,我有这个代码:
$userPhotosArray = ([0] => Array(<more values>),
[1] => Array(<more values>));
print("<table>");
foreach ($userPhotosArray as $index => $photoInfo) {
$ind = $index % 3;
if ($ind == 0)
print("<tr>");
print("<td>");
print_r($photoInfo);
print("</td>");
if ($ind == 0)
print("</tr>");
}
print("</table>");
所以上面的代码应该只输出 1 行,但它的作用是输出 2 行。
即使我 var_dump $ind 的值也没关系。 (第一次迭代是(int)1,第二次(int)0)。即使我将它转换为 bool 并再次尝试 var_dump,它仍然可以。 ((布尔)真,(布尔)假)。 但是在 IF 条件下,它的行为很奇怪,每次它似乎都返回 true。 对此有何看法?推荐?
【问题讨论】:
-
$someArray应该是$userPhotosArray吗?这段代码中没有用到,有点混乱。 -
太棒了!现在让我们看看... :)
-
@Emissary 不,同样如此。 var_dump 显示 (int)0, (int)1。
-
我觉得不错:ideone.com/uWYwCl
标签: php loops foreach conditional-statements