(おそらく)連想配列の最初のキーを取得しますか?質問する

(おそらく)連想配列の最初のキーを取得しますか?質問する

連想配列の最初のキーを決定する最も良い方法は何でしょうか? 最初に思いついたのは、配列を foreach してすぐに分割する方法です。次のようになります。

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

したがって、$key に最初のキーが含まれますが、これは非効率的です。もっと良い解決策はありますか?

ベストアンサー1

2019年アップデート

PHP 7.3以降では、array_key_first()内部ポインタをリセットせずに指定された配列の最初のキーを取得する新しい組み込み関数があります。ドキュメンテーション詳細については。


使用できますresetそしてkey:

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

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

を呼び出すことを忘れないでくださいreset。そうしないと、配列内のキーのいずれかを取得できます。endreset最後のキーを取得する代わりに。

キーから最初の値を取得したい場合は、reset実際にそれを返します。

$first_value = reset($array);

ただし、注意すべき特別なケースが 1 つあります (まず配列の長さを確認してください)。

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

おすすめ記事