Hàm array_slice trong PHP là gì ?

19/06/2020 - lượt xem
Chia sẻ
 
Rate this post

Hàm array_slice () trong php là một hàm trả về một mảng đảo ngược với mảng ban đầu.

Hàm này được sử dụng trên PHP4, PHP5 và PHP7.

Cú pháp

Cú pháp hàm array_slice () trong PHP như sau:

array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] ) : array

Tham số truyền vào 

  • $array là mảng được truyền vào.
  • $offset  là vị trí bắt đầu tách mảng
  • $length là số lượng phần tử muốn lấy

Lưu ý:

  1. Nếu $length nhỏ hơn số phần tử tối đa của mảng, thì sẽ lấy thêm số bản ghi tương ứng với giá trị của $length
  2. Nếu $length lớn hơn số lượng phần tử tối đa của mảng thì sẽ lấy tới hết mảng
  3. Nếu $length không tồn tại thì sẽ lấy tới hết mảng
  4. Nếu $length là giá trị âm sẽ lấy tới tương ưng được tính từ cuối mảng.

 

  • $preserve_keys giá trị này mặc định là FALSE – không giữ nguyên KEY – ngược lại TRUE là giữ nguyên KEY ban đầu.

Giá trị trả về

Hàm array_slice sẽ trả về một mảng được cắt từ $offset và  $length truyền vào.

Ví dụ minh họa

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Ví dụ số 2 với mảng cơ bản

<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
// Và kết quả trả về sẽ là
Array
(
    [0] => b
    [1] => c
)

Ví dụ số 3 với mảng có KEY MIX

<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

Ứng dụng

Nếu bạn muốn tách ra làm 2 mảng khác nhau, thì bạn có thể làm theo cách sau
function array_chop(&$arr, $num)
{
    $ret = array_slice($arr, 0, $num);
    $arr = array_slice($arr, $num);
    return $ret;
}

Hàm liên quan

  • Hàm array_chunk cắt một mảng theo độ dài chỉ định
  • Hàm array_spilce xóa một phần của mảng và thay thế bằng một phần tử khác
  • Hàm unset xóa bỏ một biến đã đặt

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm array_slice () trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé.

Cảm ơn bạn đã ghé thăm codetutam.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm