ในการตรวจสอบว่าอะเรย์ตัวนั้น ๆ มี key ที่ต้องการหรือไม่ จะต้องใช้ฟังก์ชัน array_key_exists() ในการตรวจสอบ
# รูปแบบ $bool = array_key_exists(key, array); โดยที่ $bool คือ ตัวแปร boolean ที่รับการคืนค่าจากการตรวจสอบว่ามี key นั้น ๆ ในอะเรย์หรือไม่ key คือ key ที่ต้องการตรวจสอบ array คือ array ที่ต้องการตรวจสอบ
บางคนอาจจะใช้การตรวจสอบ key ด้วยวิธีข้างล่างนี้ ซึ่งเป็นวิธีที่ไม่สมบูรณ์เนื่องจากว่า ถ้าใน array มี key นั้น ๆ อยู่แต่เป็นค่าว่างต่าง ๆ เช่น "", NULL, 0 เป็นต้น มันก็จะคืนค่าเป็น false
<?php
$person = array("name" => NULL, "age" => 21);
// การตรวจสอบแบบนี้ มันจะได้ผลลัพธ์มาเป็น false เนื่องจาก key 'name' ของอะเรย์ $person มีค่าเป็น NULL
if ($person['name']) {
}
// มันจะคืนค่าเป็น true เนื่องจากในอะเรย์ $person มี key 'name' อยู่
if (array_key_exists("name", $person)) {
}
?>
บางคนอาจจะใช้ฟังก์ชัน isset() ในการตรวจสอบว่ามี key นั้น ๆ อยู่ในอะเรย์หรือไม่ ซึ่งมันจะคืนค่าเป็น true ก็ต่อเมื่อมี key นั้น ๆ อยู่ในอะเรย์ เช่นกัน และค่านั้นจะต้องไม่เป็น NULL ด้วย (แตกต่างกันตรงนี้ครับ)
<?php
$a = array(0, NULL, '');
function tf($v) {
return $v ? "T": "F";
}
for ($i = 0; $i < 4; $i++) {
printf("%d: %s %s\n", $i, tf(isset($a[$i])), tf(array_key_exists($i, $a)));
}
/*
0: T T
1: F T
2: T T
3: F F
*/
?>
จะเห็นว่ามันแตกต่างกันตรงที่ถ้าค่าของ key นั้น ๆ เป็น NULL ฟังก์ชัน isset() จะคืนค่าเป็น false
ผู้สนับสนุน