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.
Bài viết này được đăng tại [free tuts .net]
$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ẻ.