【发布时间】:2011-11-08 18:37:06
【问题描述】:
我有一个 foreach 循环,其中有一个 if 语句,因此如果 $value 等于 'Messages' 它应该将我的变量 num1 增加 1,但 if 语句似乎不起作用正确。任何帮助将不胜感激。
编辑:如果我去掉 if 语句并回显 $value,它将回显数组中每个部分的值。
代码:
<?php
$num1 = 0;
foreach($inventory['Category'] as $key => $value) {
if ($value == 'Messages') {
$num1++;
}
}
?>
【问题讨论】:
-
尝试在循环中只使用 var_dump($value == 'Messages') 而不是 if - 如果它在应该返回 true 时返回 false,则比较中有问题。然后,您可以尝试 var_dump($value) 来缩小该变量返回的范围。
-
您确定 $value 将包含完全“消息”吗?我的意思是,没有空间或其他任何东西?做一个 var_dump 来仔细检查。
-
你能在 `$inventory['Category'] 上做一个
var_dump()来验证任何值首先是消息吗?否则代码看起来很好。 -
出于好奇,关键是什么?
-
我不确定您要做什么,但
array_count_values可能对您有用。