Bài 21: Các hàm xử lý mảng trong php

Để tiện cho việc tra cứu học tập mình sẽ liệt kê danh sách các hàm xử lý mảng hay sử dụng tại bài này, các bạn cập nhật và tra cứu nhé.

1. Danh sách các hàm xử lý mảng trong PHP

Sau đây là các hàm chúng ta hay sử dụng nhất.

1. array_change_key_case($array, $case)

Chuyển tất cả các key trong mảng $array sang chữ hoa nếu $case = 1 và sang chữ thường nếu $case = 0. Ta có thể dùng hằng số CASE_UPPER thay cho số 1 và CASE_LOWER thay cho số 0.

$array = array(
    'chu_thuong' =--> 'Hello'
);
 
$array = array_change_key_case($array, CASE_UPPER);
 
var_dump($array);
// Kết quả là:   'CHU_THUONG' => 'Hello'

2. array_combine($array_keys, $array_values)

Trộn 2 mảng $array_keys và $array_values thành một mảng kết hợp với $array_keys là danh sách keys, $array_value là danh sách value tương ứng với key. Điều kiện là 2 mảng này phải bằng nhau.

$array_keys = array('a', 'b', 'c');
$array_values = array('one', 'two', 'three');
print_r(array_combine($array_keys, $array_values));
/* kết quả:
Array(
[a] => one
[b] => two
1 => three;
)*/;

3. array_count_values ( $array )

Đếm số lần xuất hiện của các phần tử giống nhau trong mảng $array và trả về một mảng kết quả.

$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
/* Kết quả:
Array (
[1] => 2;
[hello] => 2;
[world] => 1
)*/

4. array_push(&$array, $add_value1, $add_value2, $add_value…)

Thêm vào cuối mảng $array một hoặc nhiều phần tử với các giá trị tương ứng biến $add_value truyền vào.

$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
/* Kết quả
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)
*/

5. array_pop(&$array)

Xóa trong mảng $array phần tử cuối cùng và trả về phần tử đã xóa.

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
 
/* Biến $stack sẽ còn 3 giá trị
Array (
    [0] => orange
    [1] => banana
    [2] => apple
)
Còn biến $fruit sẽ có giá trị là raspberry
*/

6. array_pad($array, $size, $value)

Kéo dãn mảng $array với kích thước là $size, và nếu kích thước truyền vào lớn hơn kích thước mảng $array thì giá trị $value được thêm vào, ngược lại nếu kích thước truyền vào nhỏ hơn kích thước mảng $array thì sẽ giữ nguyên. Nếu muốn giãn ở cuối mảng thì $size có giá trị dương, nếu muốn giãn ở đầu mảng thì $size có giá trị âm.

$input = array(12, 10, 9);
 
// Giãn thành 5 phần tử ở cuối mảng và
// các phần tử giãn có giá trị là 5:
$result = array_pad($input, 5, 0);
// Kết quả là  array(12, 10, 9, 0, 0)
 
// Giản thành 7 phần tử ở đầu mảng
//  và các phần tử giãn có giá trị -1
$result = array_pad($input, -7, -1);
// Kết quả là array(-1, -1, -1, -1, 12, 10, 9)
 
// Giãn thành 2 phần tử nhưng mảng $input
// lại có 3 phần tử nên sẽ không được xử lý
$result = array_pad($input, 2, "noop");
// Kết quả giữ nguyên array(12, 10, 9)

7. array_shift(&$array)

Xóa phần tử đầu tiên ra khỏi mảng $array và trả về phần tử vừa xóa đó.

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
/* Kết quả biến $stack
Array (
    [0] => banana
    [1] => apple
    [2] => raspberry
)
Kết quả biến $fruit là orange */

8. array_unshift(&$array, $value1, $value2, …)

Thêm các giá trị $value1, $value2, … vào đầu mảng $array.

$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
/*Kết quả là:
* Array (
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
* ) */

9. is_array($variable).

Kiểm tra một biến có phải kiểu mảng hay không, kết quả trả về true nếu phải và false nếu không phải.

$bien1 = array();
$bien2 = '';
 
// Kết quả trả về true var_dump($bien1);
// Kết quả trả về false var_dump($bien2);

10. in_array($needle, $haystackarray)

Kiểm tra giá trị $needle có nằm trong mảng $haystackarray không. trả về true nếu có và flase nếu không có.

$haystackarray = array('hello', 'nobody', 'freetuts.net');
 
// Kết quả là true
var_dump(in_array('freetuts.net', $haystackarray));
 
// Kết quả là false
var_dump(in_array('net', $haystackarray));

11. array_key_exists($key, $searcharray)

Kiểm tra key $key có tồn tại trong mảng $searcharray không, trả về true nếu có và false nếu không có.

$searcharray = array(
    'username' => 'thehalfheart',
    'email' => 'thehalfheart@gmail.com',
    'website' => 'freetuts.net'
);
 
// Trả về true
var_dump(array_key_exists('username', $searcharray));
 
// Trả về false
var_dump(array_key_exists('otherkey', $searcharray));

12 .array_unique( $array )

Loại bỏ giá trị trùng trong mảng $array.

$array = array('freetuts.net', 'freetuts.net');
$result = array_unique($array);
 
// Kết quả mảng chỉ còn 1 giá trị freetuts.net
var_dump($result);

13. array_values ($array )

Chuyển mảng $array sang dạng mảng chỉ mục.

$array = array(
    'username' => 'thehalfheart',
    'password' => 'somepasss'
);
 
var_dump(array_values($array));
/* Kêt quả của mảng là array(
    0 => thehalfheart,
    1 => somepasss
) */

Đang cập nhật thêm các hàm xư lý mảng ...

2. Lời kết

Trên là các hàm xử lý mảng trong PHP rất hay dùng, tôi không thể liệt kê hết các hàm vì cũng có nhiều hàm chưa dùng tới, nếu bạn muốn tìm hiểu thêm các hàm khác thì có thể vào đây để tham khảo. Bài viết này sẽ được cập nhật bổ sung các hàm mới trong thời gian tới. Bài tiếp theo chúng ta sẽ học các hàm xử lý file trong php. Chúc các bạn vui vẻ.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.