Tìm kiếm phần tử trong mảng bằng PHP

Xin chào các bạn tiếp tục với bài viết trước Giải thuật sắp xếp số tăng dần-tìm số lớn nhất-xóa phần tử trùng nhau trong PHP

Mình sẽ tích hợp thêm cách để tìm kiếm mảng trong php, ở đây mình sử dụng 2 cách để tìm kiếm:

Cách 1: mình xem số lượng phẩn tử có trong mảng là bao nhiêu mình sẽ chia cho một con số nào đó và mình lấy phần nguyên, Khi có một người cần tìm 1 con số nào đó mình chi việc kiểm tra con số này nó nằm trong phân đoạn nào, thì mình chỉ việc xét ở phân đoạn đó thôi, các này bạn làm tìm kiếm nhanh.

Cách 2: mình sẽ tìm kiếm từ đầu đến cuối mảng để dò tìm số cần tìm, cách này lâu hơn cách 1 nếu số lượng mảng cần lớn càng phức tập thì mình có thể dùng cách 1 nhé.

Code cách 1:


$key =851;
$solon_nhat = $max;
$sochia_mang = 100;
$so_mang = ceil(count($data_array)/$sochia_mang);
 
if($data_array[0]<$key && $key<$data_array[$so_mang]){
$data=1;
$begin = 0;
echo "bat dau:".$begin."/".$data;
}
else if($data_array[$so_mang+1]<$key && $key<$data_array[$so_mang*2]){
$data=2;
$begin = $so_mang;
echo "bat dau:".$begin."/".$data;
 
}
else if($data_array[$so_mang*2+1]<$key && $key<$data_array[$so_mang*3]){
$data=3;
$begin = $so_mang*2;
echo "bat dau:".$begin."/".$data;
}
else if($data_array[$so_mang*3+1]<$key && $key<$data_array[$so_mang*4]){
$data=4;
$begin = $so_mang*3;
echo "bat dau:".$begin."/".$data;
}
else if($data_array[$so_mang*4+1]<$key && $key<$data_array[$so_mang*5]){
$data=5;
$begin = $so_mang*4;
echo "bat dau:".$begin."/".$data;
}
else{
$data=6;
$begin = $so_mang*5;
echo "bat dau:".$begin."/".$data;
}
 
function timkiem($begin,$data,$so_mang,$solon_nhat,$key,$sochia_mang,$data_array){
if($data==6){
$data = $sochia_mang;
 
}
for($i = $begin; $i<$so_mang*$data; $i++){
if($key==$data_array[$i]){
echo "tim thấy:".$data_array[$i];
}
}
}
timkiem($begin,$data,$so_mang,$solon_nhat,$key,$sochia_mang,$data_array);

Code cách 2:

 


//cách 2
for($i = 0; $i<1000; $i++){
if($key==$data_array[$i]){
echo "tim thấy:".$data_array[$i];
}
}
Chúc các bạn thành công!

Bài Viết Liên Quan

x

Xin chào! Hãy ủng hộ chúng tôi bằng cách nhấp vào quảng cáo trên trang web. Việc này giúp chúng tôi có kinh phí để duy trì và phát triển website ngày một tốt hơn. (Hello! Please support us by clicking on the ads on this site. Your clicks provide us with the funds needed to maintain and improve the website continuously.)

Ngoài ra, hãy đăng ký kênh YouTube của chúng tôi để không bỏ lỡ những nội dung hữu ích! (Also, subscribe to our YouTube channel to stay updated with valuable content!)

Đăng Ký