亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PHP怎么查找一列有序數組是否包含某值

發布時間:2021-05-19 15:32:04 來源:億速云 閱讀:142 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關使用PHP怎么查找一列有序數組是否包含某值,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

問題:對于一列有序數組,如何判斷給出的一個值,該值是否存在于數組。

思路:判斷是否存在,最簡單是,直接循環該數組,對每一個值進行比較。但是對于有序數組來說,這樣寫就完全沒有利用好“有序”這一特點。

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

//有序數組為

$arr = array(2,5,66,87,954,1452,5865);

//查找值

$str = 1452;

//我們先定義 三個參數

$front = 0;//一個開始值下標

$end = count($arr) - 1;//一個結束值下標

$mid = intval(($front + $end) / 2);//中間值下標

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

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

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

-----如上,對于傳入的開始值,結束值,中間值,進行比較。一旦開始值 大于 結束值 則說明沒有找到,結束查詢,反之等于就返回已找到。

具體代碼如下:

$str = 89;//查找值

$arr = [1,55,66,89,420];//有序數組

$ren = find($arr, $str);

echo '<pre>';

var_dump($ren);

function find($arr, $str){

 $front = 0;//開始下標

 $end = count($arr) - 1;//結束下標

 while($front <= $end){//結束值 大于 開始值 ,反之則退出

  $mid = intval(($front + $end) / 2);//中間值下標

  if($str == $arr[$mid]){

   return $mid;//存在直接返回值的下標

  }

  if($str > $arr[$mid]){

   $front = $mid + 1;//在前面

  }

  if($str < $arr[$mid]){

   $end = $mid - 1;//在后面

  }

 }

 return false;

}

返回結果:89為第四個元素值下標3

int(3)

PHP開發環境搭建工具有哪些

一、phpStudy,是一個新手入門最常用的開發環境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。

上述就是小編為大家分享的使用PHP怎么查找一列有序數組是否包含某值了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

南木林县| 沁水县| 定南县| 尉犁县| 新源县| 乌鲁木齐市| 平原县| 左贡县| 湟源县| 黄石市| 武乡县| 清苑县| 青神县| 大名县| 灵山县| 城市| 增城市| 永寿县| 安图县| 大英县| 永嘉县| 蓬安县| 时尚| 澜沧| 山西省| 厦门市| 石首市| 宣汉县| 安岳县| 察哈| 沙坪坝区| 叶城县| 深水埗区| 边坝县| 西充县| 鹤峰县| 蓬莱市| 固安县| 黄陵县| 鹰潭市| 报价|