检查值是否大于或等于数组值

时间:2018-03-01 15:17:55

标签: php arrays

我创建了两个数组:

名称数组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个或更多。

1 个答案:

答案 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也可用于执行此操作,您可以自己获取值或计算索引。