Hướng dẫn dùng arr.slice trong PHP

Hàm array_slice() cắt bỏ phần tử của mảng, giữ lại những phần tử được chọn.

Hướng dẫn dùng arr.slice trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú pháparray_slice($array, $offset [, $lenght, $reoder]);

Trong đó:

  • $array là mảng dữ liệu truyền vào.
  • $offset là vị trí của phần tử đầu tiên được giữ lại.

Các phần tử trong dấu [ ] có thể không truyền vào:

Bài viết này được đăng tại [free tuts .net]

  • $lenght là số phần tử được giữ lại.
  • $reoder là tham số kiểu boolean, nếu bằng TRUE thì hàm sẽ giữ nguyên khóa của các phần tử, ngược lại sẽ thay đổi các khóa của các phần tử được giữ lại.

Ví dụ

Code

$array = range(
	"a",
	"f"
);

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

Code

$array = range(
	"a",
	"f"
);
echo "
";
	print_r(array_slice($array, 2, -1));
echo "
"; echo "
";
	print_r(array_slice($array, 2, -1, true));
echo "
";

Kết quả

Array
(
    [0] => c
    [1] => d
    [2] => e
)
Array
(
    [2] => c
    [3] => d
    [4] => e
)

Tham khảo: php.net

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
  • Tham số truyền vào 
  • Giá trị trả về
  • Ví dụ minh họa
  • Ví dụ số 2 với mảng cơ bản
  • Ví dụ số 3 với mảng có KEY MIX
  • Ứng dụng
  • Hàm liên quan

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

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

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

 "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

'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