配列があります:
array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
この配列の最初の要素を取得したいと思います。期待される結果:文字列 apple
1 つの要件:参照渡しでは実行できないため、array_shift
適切な解決策ではありません。
これどうやってするの?
ベストアンサー1
オリジナルの答えですが、コストがかかります (O(n)):
array_shift(array_values($array));
O(1)の場合:
array_pop(array_reverse($array));
その他のユースケースなど
の変更(配列ポインタをリセットするという意味)が$array
問題にならない場合は、次のように使用できます。
reset($array);
配列の「コピー」が必要な場合、理論的にはこれがより効率的になるはずです。
array_shift(array_slice($array, 0, 1));
PHP 5.4 以降の場合 (ただし、空の場合はインデックス エラーが発生する可能性があります):
array_values($array)[0];