我创建了两个数组:
名称数组1:from
:
array(2) { [0]=> string(2) "12" [1]=> string(2) "25" }
名称数组二:until
:
array(2) { [0]=> string(2) "23" [1]=> string(2) "31" }
现在我希望php脚本比较值$ i(以1
开头的for循环开始,以28, 30 or 31
开头,取决于每月的日期)更大或等于from
且小于等于until
。
但我如何比较这些值?
我知道我可以这样做:
if($i >= $from[0] && $i <= $untill[0]) {
echo 'found';
}
else {
echo 'not found';
}
但是我不知道数组有多大,它可以包含1个项目或31个或更多。
答案 0 :(得分:1)
您的问题有点混乱,但我认为我明白了,要知道数组有多大,您可以使用count(),例如,以下代码只返回一个found
因为只有6
数组中的$until
符合我们的if
要求,所以请注意$until
数组必须等于或大于$from
数组或者我们将获得实际上不存在的索引(我们可以检查代码是否存在)。
$from = [1, 2, 3, 4, 5];
$until = [1, 2, 3, 4, 5, 6];
for ($i = 1; $i <= count($until); $i++) {
if($i >= $from[$i] and $i <= $until[$i]) {
echo 'found';
}
}
在您的代码中,您检查了$from[0]
和$untill[0]
这些数组中的第一个值,上面的代码将检查$from[0]
,$from[1]
...直到我们匹配$until
计数,$until
相同。如果那时你想要比较来自$from
和$until
的每个值,那么你可以使用相同的计数>来对其中的另一个循环(或每个数组一个)进行比较强大的>逻辑,知道你需要循环多少次,这就是我认为你在寻找的东西。 foreach
也可用于执行此操作,您可以自己获取值或计算索引。