One-liner polyfill (php version < 7.3.0)
<?php
function array_key_first(array $array)
{
return key(array_slice($array, 0, 1));
}
(PHP 7 >= 7.3.0, PHP 8)
array_key_first — Récupère la première clé d'un tableau
$array
): int|string|null
Récupère la première clé du tableau array
donné sans
affecter le pointeur interne du tableau.
array
Un tableau.
Retourne la première clé de array
si le tableau n'est pas
vide ; null
sinon.
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"
Il y a plusieurs façon de fournir cette fonctionnalité pour les versions antérieur à PHP 7.3.0. Il est possible d'utiliser array_keys(), mais ceci est plutôt inefficace. Il est aussi possible d'utiliser reset() et key(), mais ceci peut changer le pointeur interne du tableau. Une solution efficace, qui ne modifie pas le pointeur interne du tableau, écrit comme un polyfill :
<?php
if (!function_exists('array_key_first')) {
function array_key_first(array $arr) {
foreach($arr as $key => $unused) {
return $key;
}
return NULL;
}
}
?>
One-liner polyfill (php version < 7.3.0)
<?php
function array_key_first(array $array)
{
return key(array_slice($array, 0, 1));
}
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.