1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      PHP如何判斷有序數(shù)組是否包含某個(gè)值

      今天小編給大家分享的是PHP如何判斷有序數(shù)組是否包含某個(gè)值,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

      創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),長(zhǎng)豐企業(yè)網(wǎng)站建設(shè),長(zhǎng)豐品牌網(wǎng)站建設(shè),網(wǎng)站定制,長(zhǎng)豐網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,長(zhǎng)豐網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

      問(wèn)題:對(duì)于一列有序數(shù)組,如何判斷給出的一個(gè)值,該值是否存在于數(shù)組。

      思路:判斷是否存在,最簡(jiǎn)單是,直接循環(huán)該數(shù)組,對(duì)每一個(gè)值進(jìn)行比較。但是對(duì)于有序數(shù)組來(lái)說(shuō),這樣寫(xiě)就完全沒(méi)有利用好“有序”這一特點(diǎn)。

      所有我們使用到“二分法查找”,

      //有序數(shù)組為
      $arr = array(2,5,66,87,954,1452,5865);
      //查找值
      $str = 1452;
      //我們先定義 三個(gè)參數(shù)
      $front = 0;//一個(gè)開(kāi)始值下標(biāo)
      $end = count($arr) - 1;//一個(gè)結(jié)束值下標(biāo)
      $mid = intval(($front + $end) / 2);//中間值下標(biāo)

      1、第一次比較,我們直接判斷查找值str是否等于中間值mid,如果等于 直接返回 true;

      2、如果查找值str大于中間值mid,則說(shuō)明查找值str可能在中間值的右邊,即對(duì)開(kāi)始值front需重新賦值 = 中間值mid + 1,結(jié)束值end不用變,依次中間值mid為新的開(kāi)始值 + 結(jié)束值;

      PHP如何判斷有序數(shù)組是否包含某個(gè)值

      3、如果查找值str小于中間值mid,則說(shuō)明查找值str可能在中間值的左邊,即開(kāi)始值不用變,結(jié)束值end需重新賦值 = 中間值 - 1,依次中間值mid為開(kāi)始值 + 新的結(jié)束值;

      -----如上,對(duì)于傳入的開(kāi)始值,結(jié)束值,中間值,進(jìn)行比較。一旦開(kāi)始值 大于 結(jié)束值 則說(shuō)明沒(méi)有找到,結(jié)束查詢(xún),反之等于就返回已找到。

      具體代碼如下:

      $str = 89;//查找值
      $arr = [1,55,66,89,420];//有序數(shù)組
      $ren = find($arr, $str);
      echo '
      ';
      var_dump($ren);
      function find($arr, $str){
          $front = 0;//開(kāi)始下標(biāo)
          $end = count($arr) - 1;//結(jié)束下標(biāo)
          while($front <= $end){//結(jié)束值 大于 開(kāi)始值 ,反之則退出
              $mid = intval(($front + $end) / 2);//中間值下標(biāo)
              if($str == $arr[$mid]){
                  return $mid;//存在直接返回值的下標(biāo)
              }
              if($str > $arr[$mid]){
                  $front = $mid + 1;//在前面
              }
              if($str < $arr[$mid]){
                  $end = $mid - 1;//在后面
              }
          }
          return false;
      }

      返回結(jié)果:89為第四個(gè)元素值下標(biāo)3

      PHP如何判斷有序數(shù)組是否包含某個(gè)值

      以上就是PHP如何判斷有序數(shù)組是否包含某個(gè)值的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來(lái)創(chuàng)新互聯(lián)行業(yè)資訊!


      本文名稱(chēng):PHP如何判斷有序數(shù)組是否包含某個(gè)值
      瀏覽地址:http://www.ef60e0e.cn/article/ihshdd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        沁源县| 宁都县| 内丘县| 清流县| 教育| 巴马| 西吉县| 余干县| 榆社县| 黔南| 南通市| 樟树市| 拉萨市| 梓潼县| 岳西县| 莱阳市| 彰化市| 桑日县| 永安市| 尚义县| 佛坪县| 沁源县| 长治县| 东兰县| 晋中市| 南城县| 远安县| 大新县| 龙南县| 石阡县| 汤阴县| 太原市| 仁布县| 东乡县| 广河县| 清苑县| 商城县| 从江县| 榆树市| 宜都市| 小金县|