A proper one-liner polyfill for version < 7.3:
<?php
function array_key_first((array) $a)
{
return array_keys($a)[0];
}
(PHP 7 >= 7.3.0, PHP 8)
array_key_first — Obtém a primeira chave de um array
Obtenha a primeira chave do array
fornecido sem afetar
o ponteiro do array interno.
array
Um array.
Retorna a primeira key do array
se o array não estiver vazio;
null
caso contrário.
Exemplo #1 Uso básico de array_key_first()
<?php
$array = ['a' => 1, 'b' => 2, 'c' => 3];
$firstKey = array_key_first($array);
var_dump($firstKey);
?>
O exemplo acima produzirá:
string(1) "a"
Existem várias maneiras de fornecer essa funcionalidade para versões anteriores ao PHP 7.3.0. É possível usar array_keys(), mas isso pode ser bastante ineficiente. Também é possível usar reset() e key(), mas isso pode alterar o ponteiro do array interno. Uma solução eficiente, que não altera o ponteiro interno do array, escrito como polyfill:
<?php
if (!function_exists('array_key_first')) {
function array_key_first(array $arr) {
foreach($arr as $key => $unused) {
return $key;
}
return NULL;
}
}
?>
A proper one-liner polyfill for version < 7.3:
<?php
function array_key_first((array) $a)
{
return array_keys($a)[0];
}
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.
One-liner polyfill (php version < 7.3.0)
<?php
function array_key_first(array $array)
{
return key(array_slice($array, 0, 1));
}