1. Hàm array_key_exists() trong PHP

Hàm array_key_exists() trong PHP dùng để kiểm tra mảng trong PHP. Cụ thể hàm này sẽ kiểm tra xem một key cụ thể hay một chỉ mục (index) có tồn tại trong mảng hay không? Hàm array_key_exists() sẽ trả về True nếu tìm thấy key chỉ định ở trong mảng. Ngược lại nếu không tìm thấy key chỉ định trong mảng thì hàm sẽ trả về False. Sử dụng hàm này rất hữu ích, giúp ta trách được việc phải duyệt mảng thủ công. Hàm này được giới thiệu và sử dụng từ phiên bản PHP 4.0.7

Chú ý

Với hàm array_key_exists() trong PHP sẽ chỉ kiểm tra được key trong mảng một chiều. Nếu như ta sử dụng nó trong mảng đa chiều thì nó sẽ chỉ kiểm tra được key của chiều đầu tiên. Với những chiều sâu hơn sẽ không kiểm tra được. Vì vậy ta cần lưu ý khi sử dụng hàm này với mảng đa chiều.

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

Cú pháp của hàm array_key_exists() trong PHP là:

array_key_exists($key, $array)

Trong đó:

  • $key : key hay index mà chúng ta cần tìm kiếm trong mảng
  • $array : mảng mà ta muốn tìm kiếm
  • Hai tham số này đều là bắt buộc trong hàm

Như mình đã nói ở trên thì hàm sẽ trả về giá trị boolean nếu key tồn tại trong mảng sẽ trả về True và key không tồn tại trong mảng sẽ trả về False.

Ví dụ: kiểm tra key “PHP” có tồn tại ở trong mảng không

<?php
$a=array("PHP"=>"php.net","python"=>"python.org");
if(array_key_exists("PHP",$a)){
    echo "Key tồn tại trong mảng";
 }else{
    echo "Key không tồn tại trong mảng";
 }
?>

Kết quả

Key tồn tại trong mảng

Ví dụ này khá là đơn giản. Mình sử dụng một vòng lặp if else cùng với đó sử dụng hàm array_key_exists() kiểm tra xem key “PHP” có tồn tại trong mảng $a hay không. Nếu có in ra màn hình “Key tồn tại trong mảng”. Ngược lại nếu không in ra màn hình “Key không tồn tại trong mảng”.

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

Ví dụ 1: kiểm tra số nguyên 0 có tồn tại trong mảng hay không

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

Kết quả

1

Như ta đã biết 1 đại diện cho True còn 0 đại diện cho False. Với ví dụ này ta cũng có thể sử dụng if else như ví dụ trước cho dễ quan sát nhé

<?php
$a=array("Volvo","BMW");
if (array_key_exists(0,$a))
  {
  echo "Key tồn tại";
  }
else
  {
  echo "Key không tồn tại";
  }
?>

Kết quả

Key tồn tại

Ví dụ 2:

<?php
function Exists($index, $array){
     if (array_key_exists($index, $array)){
         echo "Tìm thấy key";
     }else{
         echo "không tìm thấy key";
   }
 }
$array = array(
    "PHP" => 25,
    "Python" => 10,
    "Laptrinhtudau" => 20,
    "Java"
);
$index = "Laptrinhtudau";
print_r(Exists($index, $array));
?>

Kết quả

Tìm thấy key

Ví dụ 3:

<?php
function Exists($index, $array){
     if (array_key_exists($index, $array)){
         echo "Tìm thấy key";
     }else{
         echo "không tìm thấy key";
   }
 }
$array = array(
    "PHP" => 25,
    "Python" => 10,
    "Laptrinhtudau" => 20,
    "Java"
);
$index = "Java";
print_r(Exists($index, $array));
?>

Kết quả

không tìm thấy key

Trong trường hợp này Java là value chứ không phải key nhé. Vì vậy kết quả hiển thị sẽ là không tìm thấy key. Nếu muốn ta phải sửa “Java” thành “0” thì kết quả hiển thị sẽ là tìm thấy key nhé!