array_key_first

(PHP 7 >= 7.3.0)

array_key_firstRécupère la première clé d'un tableau

Description

array_key_first ( array $array ) : mixed

Récupère la première clé du tableau array donné sans affecter le pointeur interne du tableau.

Liste de paramètres

array

Un tableau.

Valeurs de retour

Retourne la première clé de array si le tableau n'est pas vide ; NULL sinon.

Exemples

Exemple #1 Usage simple de array_key_first()

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

$firstKey array_key_first($array);

var_dump($firstKey);
?>

L'exemple ci-dessus va afficher :

string(1) "a"

Voir aussi

  • array_key_last() - Récupère la dernière clé d'un tableau
  • reset() - Remet le pointeur interne de tableau au début
add a note add a note

User Contributed Notes 5 notes

up
12
mirko dot pagliai at gmail dot com
3 months ago
It's much simpler than the examples already posted by other users (without ridiculous foreach cycles, LoL).

For PHP < 7.3.0:

<?php
if (!function_exists('array_key_first')) {
   
/**
     * Gets the first key of an array
     *
     * @param array $array
     * @return mixed
     */
   
function array_key_first(array $array)
    {
        return
$array ? array_keys($array)[0] : null;
    }
up
3
devonblzx
10 days ago
Since the other notes for polyfills did not account for the internal pointer, empty arrays, or pre-PHP7, this polyfill should work reliably for all PHP5 and PHP7 versions:

<?php
if (!function_exists('array_key_first')) {
   
/**
     * Gets the first key of an array
     *
     * @param array $array
     * @return mixed
     */
   
function array_key_first($array)
    {
        if (!
is_array($array) || !count($array)) {
             return
null;
        }
       
$keys = array_keys($array);
        return
$keys[0];
    }
}
up
11
mail at vitalyart dot ru
5 months ago
For PHP < 7.3.0:

<?php
if (!function_exists('array_key_first')) {
   
/**
     * Gets the first key of an array
     *
     * @param array $array
     * @return mixed
     */
   
function array_key_first(array $array)
    {
        if (
count($array)) {
           
reset($array);
            return
key($array);
        }

        return
null;
    }
}

echo
array_key_first([
   
'foo' => 'value1',
   
'bar' => 'value2',
]);

// Output: foo
up
0
divinity76+spam at gmail dot com
7 days ago
for <7.3.0

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

- solution of "mirko dot pagliai at gmail" is slow, solution from "mail at vitalyart dot ru " edits the internal array pointer, the solution from "devonblzx" is slow, and the solution from "manzoorwanijk" is.. ok i guess, but this is better.
up
-4
@manzoorwanijk
5 months ago
For PHP < 7.3.0 :

<?php
if ( ! function_exists( 'array_key_first' ) ) {
   
/**
     * Polyfill for array_key_first() function added in PHP 7.3.
     *
     * Get the first key of the given array without affecting
     * the internal array pointer.
     *
     * @param mixed $array An array
     *
     * @return mixed The first key of array if the array is not empty; NULL otherwise.
     */
   
function array_key_first( $array ) {
       
$key = null;

        if (
is_array( $array ) ) {

            foreach (
$array as $key => $value ) {
                break;
            }
        }

        return
$key;
    }
}
?>
To Top