亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

值是否在 2 個數組鍵之間

值是否在 2 個數組鍵之間

PHP
茅侃侃 2023-03-11 15:51:40
我對 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。
查看完整描述

1 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

假設您要檢查鍵是否等于或等于 + 1,您可以檢查條件以查看變量是否等于或等于 + 1。所以它看起來類似于以下......


假設我們有一個選擇器,它允許我們以一小時為增量選擇 24 小時制時間,而您想獲取該時間的代碼。因此,如果我們有一個數組,其中這些值設置為以 2 為增量,我們將編寫條件來查看鍵是否等于或等于 + 1。


現在我們有一個像這樣的 html 表單:


<form action="" method="post">

   <div>Choose a time 

      <select name="time_code" id="time_code">

        <option value="2">2:00</option>

        <option value="3">3:00</option>

        <option value="4">4:00</option>

        <option value="5">5:00</option>

        <option value="6">6:00</option>        

        <option value="7">7:00</option>

        <option value="8">8:00</option>

        <option value="9">9:00</option>

        <option value="10">10:00</option>

        <option value="11">11:00</option>

        <option value="12">12:00</option>

        <option value="13">13:00</option>

        <option value="14">14:00</option>

        <option value="15">15:00</option>

        <option value="16">16:00</option>        

        <option value="17">17:00</option>

        <option value="18">18:00</option>

        <option value="19">19:00</option>

        <option value="20">20:00</option>        

        <option value="21">21:00</option>

        <option value="22">22:00</option>

        <option value="23">23:00</option>

        <option value="24">24:00</option>


      </select>

   </div>

   <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']; 


$times = array(

    '0' => '2:00',

    '2' => '4:00',

    '4' => '6:00',

    '6' => '8:00',

    '8' => '10:00',

    '10' => '12:00',

    '12' => '14:00',

    '14' => '16:00',

    '16' => '18:00',

    '18' => '20:00',

    '20' => '22:00',

    '22' => '24:00'

);

$msg = null;

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

  if($time_code === $code || $time_code === $code + 1){

    $msg = $time;

  }else{

      $msg = "error";

    }

}

if($msg === 'error'){

  $msg = "Sorry there is no time slot for that code, please check your entry!";

}

HTML:


<div>

  <?=$msg?>

</div>

輸出:


5:00 selected will output -> CODE: 4

2:00 selected will output -> CODE: 2

17:00 selected will output -> CODE: 16

23:00 selected will output -> CODE: 22

24:00 selected will output -> CODE: 24

*因為我們在輸入值方面控制了選擇,錯誤永遠不會觸發...如果您使用文本輸入或允許用戶輸入不在我們參數范圍內的值的東西,那么錯誤可能會觸發.


查看完整回答
反對 回復 2023-03-11
  • 1 回答
  • 0 關注
  • 106 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號