Fungsi array_slice

Fungsi array_slice memotong dan mengembalikan sebahagian array. Array asal tidak berubah. Parameter pertama menentukan array yang akan dipotong. Parameter kedua menentukan dari elemen mana untuk memulakan pemotongan, dan parameter ketiga - berapa banyak elemen untuk dipotong. Parameter kedua boleh menjadi negatif - dalam kes ini kiraan akan bermula dari akhir (-1 - elemen terakhir, -2 - elemen kedua terakhir dan seterusnya). Parameter ketiga boleh ditinggalkan sama sekali - dalam kes ini array akan dipotong hingga ke akhir.

Parameter pilihan terakhir mengawal sama ada untuk mengekalkan kunci semasa pemotongan, true - mengekalkan, false (lalai) - tidak mengekalkan. Kunci rentetan (string) dikekalkan, tanpa mengira nilai parameter ini.

Sintaks

phparray_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

Contoh

Mari kita potong elemen dari yang pertama (mempunyai nombor 0), 3 keping:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['a', 'b', 'c']

Contoh

Mari kita potong elemen dari yang kedua (mempunyai nombor 1), 3 keping:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1, 3);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['b', 'c', 'd']

Contoh

Mari kita potong elemen dari yang kedua (mempunyai nombor 1) hingga akhir array. Untuk ini, parameter ketiga tidak ditulis:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['b', 'c', 'd', 'e']

Contoh

Mari kita potong elemen dari kedua terakhir, 2 keping. Untuk ini, parameter kedua ditentukan sebagai -2 (kedudukan elemen kedua terakhir ):

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, -2, 2);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['d', 'e']

Contoh

Secara lalai, array tidak mengekalkan kunci semasa pemotongan:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['a', 'b', 'c']

Contoh

Mari kita pastikan kunci dikekalkan. Untuk ini, parameter terakhir ditetapkan sebagai true:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c'];
  
  $res = array_slice($arr, 0, 3, true);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php[1 => 'a', 2 => 'b', 3 => 'c']

Contoh

Kunci rentetan (string) dikekalkan semasa pemotongan:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Hasil pelaksanaan kod:

php['a' => 1, 'b' => 2, 'c' => 3]

Lihat juga

  • fungsi array_splice,
    yang memotong sebahagian array, sambil mengubah array asal