1、查詢的方法:
順序查詢 、 二分法
2、順序查詢:
對某個陣列,按照順序,乙個乙個比較,找到你要的資料。
3、順序查詢例項:
<?php
//順序查詢陣列中某個數
//如從乙個陣列中找到乙個數:34
//$arr = array(23,45,67,34,9,34,6)如果查到則輸出下標,否則輸出查無此數
$arr = array(23,45,67,34,9,34,6);
//設乙個標誌位
$flag = false;
foreach($arr as $x => $x_val)
}if ($flag==false)
?>
4、二分查詢:
首先找到陣列中間這個數,然後與要查詢的數比較,如果要查詢的數大於中間這個數,則說明應該向後找,否則向前找,如果想等,則說明找到。
前提:該陣列必須是有序數列,如果該陣列無序,必須先排序後查詢
<?php
//二分查詢陣列中某個數
//如從乙個陣列中找到乙個數:134
//$arr = array(23,45,67,89,90,134,236)如果查到則輸出下標,否則輸出查無此數
function binarysearch(&$arr,$val,$leftindex,$rightindex)
//四捨五入取整數值
$middleindex = round(($leftindex + $rightindex)/2);
if($val > $arr[$middleindex])
elseif($val < $arr[$middleindex])
else }
$arr = array(23,45,67,89,90,134,236);
// $leftindex = 0;左下標
// $rightindex = count($arr)-1;右下標
// $val = 134;要找的值
binarysearch($arr,134,0,count($arr) - 1)
?>
php二分查詢 順序查詢演算法
二分查詢的陣列必須是排好序的,順序查詢沒要求,php查詢陣列元素有內建的函式array search和in array 二分查詢法 function binsearch arr,search elseif arr mid search elseif arr mid search return 查詢失...
PHP 二分查詢和順序查詢
二分查詢 1 使用php描述順序查詢和二分查詢 也叫做折半查詢 演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列2 3 二分查詢法 陣列中查詢某個元素 4 param array array 要查詢的陣列 5 param int low 查詢的起始位置 6 param array high 查詢...
php順序查詢法,php順序查詢與二分查詢例項
class search 查詢的源陣列 private array array 1,2,3,5,7,6,4,8 順序查詢法 param val 要查詢的值 public function query search val foreach this array as k v if v val echo...