【发布时间】:2014-06-12 06:29:36
【问题描述】:
我的问题是,我有这个脚本
foreach ($arr1 as $k => $val) {
if (in_array($val, $arr2)) {
echo 'Obsazeno <br>';
} else {
echo $val . "<BR>";
}
}
其中 $arr1 是生成的天数数组,$arr2 是 mysql 结果的数组。实际上它工作正常。如果 $arr1 中的某一天在数据库中,它将回显“Obsazeno”而不是天值。
但我需要小幅升级。脚本检查 $val 是否在 $arr2 中,我需要小的计数条件来执行此操作:
如果 $val 在 $arr2 中存在一次 - 它会回显 $val。
如果 $val 在 $arr2 中两次 - 它会回显 $val。
但如果 $val 在 $arr2 三次 - 它会回显“Obsazeno”。
希望你能理解我的问题。 我要求,可以通过array_count_values。我自己尝试但没有成功。
【问题讨论】:
-
您确定
$val中的值相同吗?没有额外的白色间距等?它应该可以工作(没有条件来计数,in_array在每个循环中返回true。 -
我自己尝试了,但没有成功。 --- 然后告诉我们你到目前为止得到了什么!
-
是的,我确定。你是对的,它有效,但只适用于一个相同的结果。我需要如果 $val 仅在 $arr2 中出现一次,那没关系,并且脚本 echo $val。如果 $val 在 $arr2 中出现两次或更多(默认为 3),现在它将回显“Obsazeno”。