PHP key_exists Function
last modified March 13, 2025
The PHP key_exists
function checks if a specified key exists in
an array. It's an essential tool for array key validation in PHP.
Basic Definition
The key_exists
function checks whether a given key exists in
an array. It returns true if the key exists, false otherwise.
Syntax: key_exists(string|int $key, array $array): bool
. The
function works with both string and integer keys. It's an alias of array_key_exists.
Basic key_exists Example
This demonstrates checking for a key in a simple associative array.
<?php $user = [ 'name' => 'John', 'age' => 30, 'email' => 'john@example.com' ]; if (key_exists('email', $user)) { echo "Email exists: " . $user['email']; } else { echo "Email does not exist"; }
This checks if the 'email' key exists in the $user array. Since it does, the code outputs the email address. The function returns true in this case.
Checking Numeric Keys
key_exists
works with both string and numeric array keys.
<?php $colors = [1 => 'red', 2 => 'green', 3 => 'blue']; if (key_exists(2, $colors)) { echo "Key 2 exists with value: " . $colors[2]; } else { echo "Key 2 does not exist"; }
This verifies if the numeric key 2 exists in the $colors array. The function correctly identifies the key and returns its value 'green'.
Checking Non-existent Keys
The function returns false when checking for keys that don't exist.
<?php $settings = [ 'theme' => 'dark', 'notifications' => true ]; $key = 'language'; $exists = key_exists($key, $settings); echo $exists ? "Key '$key' exists" : "Key '$key' does not exist";
This checks for a 'language' key that isn't present in the array. The function returns false, and the code outputs that the key doesn't exist.
Null Values Handling
key_exists
returns true even if the key's value is null.
<?php $data = [ 'username' => 'johndoe', 'middle_name' => null, 'last_name' => 'Doe' ]; $key = 'middle_name'; if (key_exists($key, $data)) { echo "Key '$key' exists (value is null)"; } else { echo "Key '$key' does not exist"; }
This shows that key_exists
only checks for key existence, not
value content. It returns true for 'middle_name' despite its null value.
Difference Between key_exists and isset
Demonstrates how key_exists
differs from isset
.
<?php $array = [ 'a' => 1, 'b' => null, 'c' => 0 ]; echo "key_exists('b', \$array): " . (key_exists('b', $array) ? 'true' : 'false') . "\n"; echo "isset(\$array['b']): " . (isset($array['b']) ? 'true' : 'false') . "\n";
key_exists
returns true for key 'b' (value null), while isset
returns false. isset
also checks if the value is not null.
Best Practices
- Key Validation: Always check array keys before access.
- Null Values: Use key_exists when null values are valid.
- Performance: key_exists is slightly slower than isset.
- Readability: Consider array_key_exists for clarity.
Source
This tutorial covered the PHP key_exists
function with practical
examples showing its usage for array key validation scenarios.
Author
List all PHP Array Functions.