1. ホーム
  2. php

[解決済み】(おそらく)連想配列の最初のキーを取得しますか?

2022-03-23 09:59:21

質問

連想配列の最初のキーを決定する最良の方法は何でしょうか?最初に考えたのは、このように配列をforeachして、すぐにbreakすることです。

foreach ($an_array as $key => $val) break;

このように$keyに最初のキーを含ませるのですが、これは非効率的なようです。どなたか良い解決策をお持ちではないでしょうか?

どのように解決するのですか?

2019年最新情報

からのスタート PHP 7.3 という新しいビルトイン関数があります。 array_key_first() これは、内部ポインタをリセットすることなく、与えられた配列から最初のキーを取得するものです。をチェックしてください。 ドキュメント をご覧ください。


を使用することができます。 reset key :

reset($array);
$first_key = key($array);

これは基本的に最初のコードと同じですが、オーバーヘッドが少し少なくなり、何が起こっているのかがより明確になりました。

を呼び出すことだけは忘れないようにしましょう。 reset さもないと、配列のどのキーも取得することになります。また end の代わりに reset で最後のキーを取得します。

最初の値を取得するためのキーが欲しかった場合。 reset は実際にそれを返します。

$first_value = reset($array);

しかし、1つだけ気をつけなければならない特殊なケースがあります(そのため、最初に配列の長さを確認します)。

$arr1 = array(false);
$arr2 = array();
var_dump(reset($arr1) === reset($arr2)); // bool(true)