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é!