PHP array_keys() Function

Quick summary: The PHP array_keys() function returns all the keys of an array.

PHP array_keys() Syntax

array_keys(array $array, mixed $filter_value = null, bool $strict = false): array
PHP

PHP array_keys() Basic examples

var_dump(array_keys(['a'=>1, 'b'=>2]));
PHP
Output:
array(2) {
  [0]=> string(1) "a"
  [1]=> string(1) "b"
}

Extracts all keys from an associative array.

PHP array_keys() Real-world usage

$data = ['id'=>1, 'name'=>'John'];
var_dump(array_keys($data));
PHP
Output:
array(2) {
  [0]=> string(2) "id"
  [1]=> string(4) "name"
}

Lists available data fields.

PHP array_keys() Edge cases

var_dump(array_keys([10,20,30]));
PHP
Output:
array(3) {
  [0]=> int(0)
  [1]=> int(1)
  [2]=> int(2)
}

Returns numeric indexes for indexed arrays.

PHP array_keys() Common mistakes

Expecting values instead of keys

array_keys does not return values.

Incorrect
array_keys(['a'=>1]);
Correct
array_values(['a'=>1]);

Use array_values to get values.

PHP array_keys() Frequently Asked Questions

What does array_keys() do?

array_keys() returns all keys of an array.

Can array_keys() filter by value?

Yes, you can pass a search value.

Does array_keys() preserve order?

Yes, keys are returned in original order.

Does it modify the array?

No, it returns a new array.

Can it return duplicate keys?

Keys are unique, but multiple keys can match a value.

What is strict mode?

Third parameter enforces strict comparison.

Works with associative arrays?

Yes.

Works with numeric arrays?

Yes.

Use case?

Extracting keys for iteration.

Performance?

Very fast.

Can it return empty array?

Yes, if input is empty.

Alternative?

foreach loop.

PHP array_keys() Related PHP Functions