Checks if the given key or index exists in the array

# array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

array_key_exists — Checks if the given key or index exists in the array

### Description

array_key_exists(string|int|float|bool|resource|null `$key`, array `$array`): bool

array_key_exists() returns `true` if the given `key` is set in the array. `key` can be any value possible for an array index.

### Parameters

`key`

  Value to check.

`array`

  An array with keys to check.

### Return Values

Returns `true` on success or `false` on failure.

> Note:

> array_key_exists() will search for the keys in the first dimension only. Nested keys in multidimensional arrays will not be found.

### Changelog

Version | Description
--- | ---
8.5.0 | Using null in the `key` parameter is deprecated, use an empty string instead.
8.0.0 | The `key` parameter now accepts bool, float, int, null, resource, and string as arguments.
8.0.0 | Passing an object to the `array` parameter is no longer supported.
7.4.0 | Passing an object to the `array` parameter has been deprecated. Use property_exists() instead.

### Examples

Example #1 array_key_exists() example

`<?php
$searchArray = ['first' => 1, 'second' => 4];
var_dump(array_key_exists('first', $searchArray));
?>`

The above example will output:

    bool(true)

Example #2 array_key_exists() vs isset()

isset() does not return `true` for array keys that correspond to a `null` value, while array_key_exists() does.

`<?php
$searchArray = ['first' => null, 'second' => 4];
var_dump(isset($searchArray['first']));
var_dump(array_key_exists('first', $searchArray));
?>`

The above example will output:

    bool(false)
    bool(true)

### See Also

- isset() - Determine if a variable is declared and is different than null
- array_keys() - Return all the keys or a subset of the keys of an array
- in_array() - Checks if a value exists in an array
- property_exists() - Checks if the object or class has a property

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open