1. Hàm array_search() trong PHP

Hàm array_search() trong PHP sẽ giúp ta tìm kiếm phần tử trong mảng được truyền vào. Hàm này sẽ tìm kiếm giá trị cụ thể trong một mảng và trả về key tương ứng bằng cách sử dụng hàm array_search() nếu giá trị tồn tại. Nếu có nhiều hơn một giá trị thì key của giá trị khớp đầu tiên sẽ được trả về. Nếu giá trị là một chuỗi, thì phép so sánh là phân biệt kiểu chữ. Hàm array_search() được giới thiệu và sử dụng từ phiên bản PHP 4.0.5

2. Cú pháp hàm array_search() trong PHP

Ta có cú pháp của hàm array_search() trong PHP là :

array_search($value, $array, strict_parameter)

Trong đó :

  • $value : chỉ định giá trị cần tìm kiếm trong mảng. Tham số này là bắt buộc
  • $array : chỉ định mảng ban đầu sẽ tìm kiếm $value trong mảng này. Tham số này cũng là bắt buộc
  • strict_parameter : Đây là tham số tùy chọn trong hàm mang giá trị boolean có thể được đặt thành True hoặc False. Nó đề cập đến mức độ nghiêm ngặt của việc tìm kiếm. Với giá trị mặc định sẽ là False. Nếu ta đặt tham số này thành True thì hàm này sẽ kiểm tra trặt chẽ với việc kiểm tra các phần tử giống nhau, tức là, một số nguyên 10 sẽ được xử lý khác với một chuỗi “10”

Hàm array_search() sẽ trả về key của giá trị tương ứng được truyền vào. Nếu không tìm thấy thì False được trả về. Nhưng nếu có nhiều hơn một key khớp với giá trị cần tìm kiếm, thì key khớp đầu tiên với giá trị được tìm kiếm sẽ được trả về. Trong trường hợp ta muốn trả về toàn bộ key phù hợp hãy kết hợp sử dung thêm hàm array_keys() để lấy được kết quả phù hợp.

Từ phiên bản PHP 5.3.0 hàm array_search() sẽ trả về NULL nếu tham số truyền vào không hợp lệ.

Ví dụ : tìm kiếm giá trị PHP trong một mảng và trả về key của nó

<?php
$a=array("a"=>"PHP","b"=>"Python","c"=>"Java");
echo array_search("PHP",$a);
?>

Kết quả

a

Ta chỉ cần truyền vào giá trị cần tìm kiếm là PHP và hàm để tìm kiếm là hàm $a vào hàm array_search() để tìm được key tương ứng cho giá trị PHP

3. Ví dụ về hàm array_search() trong PHP

Ví dụ 1: tìm kiếm giá trị và trả về key tương ứng

<?php

function Search($value, $array)
{
    return (array_search($value, $array));
}
$array = array(
    "ram",
    "aakash",
    "saran",
    "mohan",
    "saran"
);
$value = "saran";
print_r(Search($value, $array));
?>

Kết quả

2

Ví dụ 2: sử dụng sự tìm kiếm nghiêm ngặt

<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
?>

Kết quả

b

Trong ví dụ này khi sử dụng thêm tham số strict_parameter là True thì ở đây số 5 sẽ khác với chuỗi “5” . Và giá trị ta yêu cầu tìm kiếm là số 5 vì vậy chỉ có key mang giá trị là số 5 mới được trả về. Kết quả được trả về giống như trên nhé.

Ví dụ 3:

<?php

function Search($value, $array){
    return (array_search($value, $array, true));
}
$array = array(45, 5, 1, 22, 22, 10, 10);
$value = "10";
echo(Search($value, $array));
?>

Kết quả

Không có kết quả được hiển thị

Vì ta tìm kiếm giá trị là một chuỗi “10” . Mà trong mảng cần tìm kiếm lại không có giá trị tương ứng nên sẽ không có key nào được trả về.