array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_first配列の最初のキーを得る

説明

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

与えられた 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 2 notes

up
-4
github.com / ahsankhatri
3 years ago
One-liner polyfill (php version < 7.3.0)

<?php
function array_key_first(array $array)
{
    return
key(array_slice($array, 0, 1));
}
up
-5
Vee W.
3 years 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.
To Top