連想配列の最初のキーを決定する最も良い方法は何でしょうか? 最初に思いついたのは、配列を foreach してすぐに分割する方法です。次のようになります。
foreach ($an_array as $key => $val) break;
したがって、$key に最初のキーが含まれますが、これは非効率的です。もっと良い解決策はありますか?
ベストアンサー1
2019年アップデート
PHP 7.3以降では、array_key_first()
内部ポインタをリセットせずに指定された配列の最初のキーを取得する新しい組み込み関数があります。ドキュメンテーション詳細については。
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)