Saya ingin mengembalikan 5 item pertama dari array. Bagaimana saya bisa melakukan ini?
Jawaban:
array_slice mengembalikan sepotong array
$sliced_array = array_slice($array, 0, 5)
adalah kode yang Anda inginkan dalam kasus Anda untuk mengembalikan lima elemen pertama
array_combine(array_slice(array_keys($array), 0, 5), array_slice($array, 0, 5))
array_slice mengembalikan sepotong array". Tapi saya akan mengedit jawaban saya untuk membuatnya sedikit lebih jelas.
array_splice - Hapus sebagian dari array dan ganti dengan yang lain:
$input = array(1, 2, 3, 4, 5, 6);
array_splice($input, 5); // $input is now array(1, 2, 3, 4, 5)
Dari manual PHP:
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement]])
Jika panjang dihilangkan, menghapus semuanya dari offset hingga akhir larik . Jika panjang ditentukan dan bernilai positif, maka banyak elemen itu akan dihilangkan. Jika panjang ditentukan dan bernilai negatif maka akhir dari bagian yang dihapus adalah banyak elemen dari akhir larik. Tip: untuk menghapus semuanya dari offset hingga akhir array saat penggantian juga ditentukan, gunakan count ($ input) untuk panjangnya.
Jika Anda hanya ingin mengeluarkan 5 elemen pertama, Anda harus menulis sesuatu seperti:
<?php
if (!empty ( $an_array ) ) {
$min = min ( count ( $an_array ), 5 );
$i = 0;
foreach ($value in $an_array) {
echo $value;
$i++;
if ($i == $min) break;
}
}
?>
Jika Anda ingin menulis fungsi yang mengembalikan bagian dari array, Anda harus menggunakan array_slice:
<?php
function GetElements( $an_array, $elements ) {
return array_slice( $an_array, 0, $elements );
}
?>
array_slice()yang sudah melakukan pekerjaan ke dalam fungsi yang tidak perlu ini yang menambahkan overhead dan tidak ada nilai?
Cara yang lebih berorientasi objek adalah memberikan rentang ke metode # []. Contohnya:
Katakanlah Anda menginginkan 3 item pertama dari sebuah array.
angka = [1,2,3,4,5,6]
angka [0..2] # => [1,2,3]
Katakanlah Anda menginginkan x item pertama dari sebuah array.
angka [0..x-1]
Hal yang hebat tentang metode ini adalah jika Anda meminta lebih banyak item daripada yang dimiliki array, itu hanya mengembalikan seluruh array.
angka [0..100] # => [1,2,3,4,5,6]