Hàm compact() trong PHP có nhiệm vụ tạo một mảng với biến và giá trị của nó.
Hàm này được sử dụng trên PHP4, PHP5 và PHP7.
Cú pháp
Cú pháp hàm compact() trong PHP như sau:
compact ( mixed $varname1 [, mixed $... ] ) : array
Tham số truyền vào
- $varname1 là biến được truyền vào.
- $mixed là mảng được kết hợp
Giá trị trả về
Hàm compact() sẽ trả về một mảng mới, được kết hợp bởi biến có trùng tên với VALUE trong mảng gốc ban đầu
Ví dụ minh họa
<?php $city = "San Francisco"; $state = "CA"; $event = "SIGGRAPH"; $location_vars = array("city", "state"); $result = compact("event", $location_vars); print_r($result); ?>
Và kết quả trả về sẽ là
Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )
Ví dụ khi mảng gốc có KEY khác biệt
<?php $city = "San Francisco"; $state = "CA"; $event = "SIGGRAPH"; $varmore = 'helllo'; $location_vars = array("city", "state","1"=>"varmore"); $result = compact("event", $location_vars); print_r($result); ?>
Trong trường hợp này, bạn có thể thấy biến và giá trị của $state không được khởi tạo vì đã có biến $varmode với KEY = 1, do vậy $state sẽ không tồn tại trong mảng mới.
Và kết quả trả về sẽ là
Array ( [event] => SIGGRAPH [city] => San Francisco [varmore] => helllo )
Ứng dụng
Bạn có thể sử dụng compact() để hiển thị nhanh giá trị của một mảng, để debug nhanh hơn
<?php print_r(compact(explode(' ', 'count acw cols coldepth'))); ?> gives Array ( [count] => 70 [acw] => 9 [cols] => 7 [coldepth] => 10 )
Bạn có thể sử dụng compact() để tạo mọt mảng mới kết hợp với giá trị mới và mảng cũ
<?php $city = "San Francisco"; $state = "CA"; $event = "SIGGRAPH"; $location_vars = array("city", "state"); $result = compact("event", "location_vars"); print_r($result); ?> Example #2 above will output: Array ( [event] => SIGGRAPH [location_vars] => Array ( [0] => city [1] => state ) )
Các hàm liên quan
- Hàm extract() nhập một biến bên ngoài vào một mảng theo KEY của phầ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 compact() 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