Pertanyaan Dapatkan elemen pertama dari sebuah array


Saya memiliki larik:

array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )

Saya ingin mendapatkan elemen pertama dari array ini. Hasil yang diharapkan: tali  apple 

Satu persyaratan: itu tidak bisa dilakukan dengan melewati referensi, jadi array_shift bukan solusi yang baik.

Bagaimana saya bisa melakukan ini?


852
2017-12-17 12:26


asal


Jawaban:


Jawaban asli, tetapi mahal (O (n)):

array_shift(array_values($array));

Di O (1):

array_pop(array_reverse($array));

Diedit dengan saran dari komentar untuk kasus penggunaan lainnya, dll ...

Jika memodifikasi (dalam arti mereset pointer array) dari $array tidak masalah, Anda mungkin menggunakan:

reset($array);

Ini harus secara teoritis lebih efisien, jika array "copy" diperlukan:

array_shift(array_slice($array, 0, 1)); 

Dengan PHP 5.4+ (tetapi mungkin menyebabkan kesalahan indeks jika kosong):

array_values($array)[0];

1095
2017-09-22 16:04



Seperti yang Mike tunjukkan (cara termudah yang mungkin):

$arr = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
echo reset($arr); //echoes "apple"

Jika Anda ingin mendapatkan kunci: (jalankan setelah setel ulang)

echo key($arr); //echoes "4"

Dari Dokumentasi PHP:

campur aduk  ulang (array & $ array );

Deskripsi:

setel ulang () memutar ulang Array pointer internal ke elemen pertama dan mengembalikan nilai elemen array pertama, atau FALSE jika array tersebut   kosong.


719
2017-11-15 03:33



$first_value = reset($array); // First Element's Value
$first_key = key($array); // First Element's Key

Semoga ini membantu. :)


243
2018-06-08 06:01



$arr = array( 9 => 'apple', 7 => 'orange', 13 => 'plum' );
echo reset($arr); // echoes 'apple'

Jika Anda tidak ingin kehilangan posisi penunjuk saat ini, cukup buat alias untuk larik.


85
2017-12-17 12:31



Anda bisa mendapatkan elemen ke-N dengan "daftar" membangun bahasa:

// 1st item
list($firstItem) = $yourArray;

// 1st item from an array that is returned from function
list($firstItem) = functionThatReturnsArray();

// 2nd item
list( , $secondItem) = $yourArray;

dengan fungsi array_keys Anda dapat melakukan hal yang sama untuk kunci:

list($firstKey) = array_keys($yourArray);
list(, $secondKey) = array_keys($yourArray);

63
2018-04-12 13:40



secara sederhana current($array) bisa memecahkan


52
2017-09-12 08:07



PHP 5.4+:

array_values($array)[0];

50
2018-04-23 14:50