值是否在 2 个数组键之间

我对 foreach 循环中的 if 语句有疑问。


<?php

$time_code = 2; 


$times = array(

    '2' => '10:00',

    '4' => '12:00',

    '6' => '14:00',

);


foreach($times as $code => $time){

    //if $code >= time_code && $time_code < the next array_key

}

?>

我的意思是如果 $time_code = 2 echo 10:00 但如果 $time_code 是 4 或 5 echo 12:00。


茅侃侃
浏览 70回答 1
1回答

杨__羊羊

假设您要检查键是否等于或等于 + 1,您可以检查条件以查看变量是否等于或等于 + 1。所以它看起来类似于以下......假设我们有一个选择器,它允许我们以一小时为增量选择 24 小时制时间,而您想获取该时间的代码。因此,如果我们有一个数组,其中这些值设置为以 2 为增量,我们将编写条件来查看键是否等于或等于 + 1。现在我们有一个像这样的 html 表单:<form action="" method="post">&nbsp; &nbsp;<div>Choose a time&nbsp;&nbsp; &nbsp; &nbsp; <select name="time_code" id="time_code">&nbsp; &nbsp; &nbsp; &nbsp; <option value="2">2:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="3">3:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="4">4:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="5">5:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="6">6:00</option>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <option value="7">7:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="8">8:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="9">9:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="10">10:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="11">11:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="12">12:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="13">13:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="14">14:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="15">15:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="16">16:00</option>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <option value="17">17:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="18">18:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="19">19:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="20">20:00</option>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <option value="21">21:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="22">22:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="23">23:00</option>&nbsp; &nbsp; &nbsp; &nbsp; <option value="24">24:00</option>&nbsp; &nbsp; &nbsp; </select>&nbsp; &nbsp;</div>&nbsp; &nbsp;<input type="submit" name="submit" value="submit"></form>我们获取发布值,然后使用如下 if 语句将条目与我们的数组进行比较:$output = null;// convert to integer for strict comparison or use == in conditional$time_code = (int)$_POST['time_code'];&nbsp;$times = array(&nbsp; &nbsp; '0' => '2:00',&nbsp; &nbsp; '2' => '4:00',&nbsp; &nbsp; '4' => '6:00',&nbsp; &nbsp; '6' => '8:00',&nbsp; &nbsp; '8' => '10:00',&nbsp; &nbsp; '10' => '12:00',&nbsp; &nbsp; '12' => '14:00',&nbsp; &nbsp; '14' => '16:00',&nbsp; &nbsp; '16' => '18:00',&nbsp; &nbsp; '18' => '20:00',&nbsp; &nbsp; '20' => '22:00',&nbsp; &nbsp; '22' => '24:00');$msg = null;foreach($times as $code => $time){&nbsp; if($time_code === $code || $time_code === $code + 1){&nbsp; &nbsp; $msg = $time;&nbsp; }else{&nbsp; &nbsp; &nbsp; $msg = "error";&nbsp; &nbsp; }}if($msg === 'error'){&nbsp; $msg = "Sorry there is no time slot for that code, please check your entry!";}HTML:<div>&nbsp; <?=$msg?></div>输出:5:00 selected will output -> CODE: 42:00 selected will output -> CODE: 217:00 selected will output -> CODE: 1623:00 selected will output -> CODE: 2224:00 selected will output -> CODE: 24*因为我们在输入值方面控制了选择,错误永远不会触发...如果您使用文本输入或允许用户输入不在我们参数范围内的值的东西,那么错误可能会触发.
打开App,查看更多内容
随时随地看视频慕课网APP