PHP 8.1.0 Beta 1 available for testing

array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_firstПолучает первый ключ массива

Описание

array_key_first(array $array): intstringnull

Получить первый ключ заданного массива array, не затрагивая внутренний указатель массива.

Список параметров

array

Массив.

Возвращаемые значения

Возвращает первый ключ массива array, если он не пустой; null в противном случае.

Примеры

Пример #1 Пример использования array_key_first()

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

$firstKey array_key_first($array);

var_dump($firstKey);
?>

Результат выполнения данного примера:

string(1) "a"

Примечания

Подсказка

Есть несколько способов предоставить функциональность для версий до PHP 7.3.0. Можно использовать array_keys(), но это может быть довольно неэффективно. Также можно использовать reset() и key(), но это может изменить внутренний указатель массива. Эффективное решение, которое не изменяет внутренний указатель массива, записанный, как полифил:

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

Смотрите также

  • array_key_last() - Получает последний ключ массива
  • reset() - Устанавливает внутренний указатель массива на его первый элемент
add a note add a note

User Contributed Notes 3 notes

up
1
nekto at nekto dot com dot ua
22 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