PHP 8.1.0 Beta 1 available for testing

array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_firstGets the first key of an array

Beschreibung

array_key_first ( array $array ) : int|string|null

Get the first key of the given array without affecting the internal array pointer.

Parameter-Liste

array

An array.

R├╝ckgabewerte

Returns the first key of array if the array is not empty; null otherwise.

Beispiele

Beispiel #1 Basic array_key_first() Usage

<?php
$array 
= ['a' => 1'b' => 2'c' => 3];

$firstKey array_key_first($array);

var_dump($firstKey);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

string(1) "a"

Anmerkungen

Tipp

There are several ways to provide this functionality for versions prior to PHP 7.3.0. It is possible to use array_keys(), but that may be rather inefficient. It is also possible to use reset() and key(), but that may change the internal array pointer. An efficient solution, which does not change the internal array pointer, written as polyfill:

<?php
if (!function_exists('array_key_first')) {
    function 
array_key_first(array $arr) {
        foreach(
$arr as $key => $unused) {
            return 
$key;
        }
        return 
NULL;
    }
}
?>

Siehe auch

  • array_key_last() - Gets the last key of an array
  • reset() - Setzt den internen Zeiger eines Arrays auf sein erstes Element
add a note add a note

User Contributed Notes 3 notes

up
1
nekto at nekto dot com dot ua
24 days ago
A proper one-liner polyfill for version < 7.3:

<?php
function array_key_first((array) $a)
{
    return
array_keys($a)[0];
}
up
-6
Vee W.
6 months ago
Another way to get first array key with PHP older than 7.3.

<?php

$array
= ['one', 'two', 'three'];
$array2 = ['one' => 'Number one', 'two' => 'Number two'];

reset($array);// go to first array
echo key($array);// get its key (first array)
// expect 0.

reset($array2);
echo
key($array2);
// expect one.
up
-7
github.com / ahsankhatri
6 months ago
One-liner polyfill (php version < 7.3.0)

<?php
function array_key_first(array $array)
{
    return
key(array_slice($array, 0, 1));
}
To Top