Hàm compact() trong PHP
Trần Thị Vân
- 1176
- 04/08/2025
Chức năng của Hàm compact() trong PHP
Hàm compact() trong PHP dùng để tạo mảng bằng cách truyền vào các tham số chuỗi làm khóa (key) và lấy giá trị của các biến có cùng tên với khóa (key) để làm giá trị.
Cú pháp của Hàm compact() trong PHP
$khóa_key_1 = giá_trị_1;
$khóa_key_2 = giá_trị_3;
$khóa_key_3 = giá_trị_3;
$kết_quả = compact("khóa_key_1", "khóa_key_3", "khóa_key_3");
"khóa_key_1", "khóa_key_3", "khóa_key_3": Thêm được nhiều Khóa (Key)
$khóa_key_1, $khóa_key_2, $khóa_key_3: Tên biến giống với khóa (key) và gắn giá trị cho biến đó.
$kết_quả: Kết quả trả về mảng chứa khóa (key) truyền vào và lấy giá trị của biến có cùng tên với khóa (key)
Ví dụ Hàm compact() trong PHP
<?php
$ten = "Lực";
$tuoi = 35;
$gioitinh = "Nam";
?>
<h2>Tạo mảng với 2 giá trị: tên, tuổi</h2>
<?php
$ketqua = compact("ten", "tuoi");
print_r($ketqua); // Kết quả: Array ( [ten] => Lực [tuoi] => 35 )
echo "<br>";
?>
<h2>Tạo mảng với 3 giá trị: tên, tuổi, giới tính</h2>
<?php
$ketqua = compact("ten", "tuoi", "gioitinh");
print_r($ketqua); // Kết quả: Array ( [ten] => Lực [tuoi] => 35 [gioitinh] => Nam )
?>
Kết quả:
/////Tạo mảng với 2 giá trị: tên, tuổi
Array ( [ten] => Lực [tuoi] => 35 )
/////Tạo mảng với 3 giá trị: tên, tuổi, giới tính
Array ( [ten] => Lực [tuoi] => 35 [gioitinh] => Nam )
Những lưu ý khi sử dụng hàm compact() trong PHP
Hàm compact() giúp gom nhiều biến thành một mảng theo tên biến, nhưng để sử dụng hiệu quả cần chú ý đến phạm vi biến, tên biến và dữ liệu thực tế. Hiểu rõ các trường hợp này sẽ giúp mã PHP dễ kiểm soát hơn và hạn chế lỗi khi chương trình phát triển.
Xử lý biến chưa được khai báo với compact()
Khi truyền tên của một biến chưa tồn tại vào compact(), PHP không thể lấy được giá trị tương ứng. Đây là trường hợp cần đặc biệt lưu ý khi danh sách biến được xây dựng động hoặc một số dữ liệu có thể không được khởi tạo trước đó.
Ví dụ, nếu chỉ có biến $name nhưng lại yêu cầu thêm $email vào mảng, kết quả sẽ không có dữ liệu tương ứng với biến chưa tồn tại. Vì vậy, trước khi gọi hàm, nên bảo đảm các biến cần sử dụng đã được khởi tạo.
<?php
$name = "Web Mới";
$data = compact("name", "email");
print_r($data);
?>
Trong những trường hợp dữ liệu có thể thiếu, có thể chủ động gán giá trị mặc định trước khi sử dụng compact(). Cách này giúp cấu trúc mảng đầu ra ổn định hơn và dễ xử lý ở những bước tiếp theo.
Khi nào nên sử dụng compact() trong PHP?
compact() phù hợp khi cần nhanh chóng tạo một mảng từ nhiều biến đã có sẵn, đặc biệt khi tên khóa trong mảng trùng với tên biến. Cách viết này giúp giảm việc phải lặp lại tên biến khi xây dựng mảng.
<?php
$title = "Học PHP";
$category = "Lập trình";
$author = "Web Mới";
$data = compact("title", "category", "author");
?>
Tuy nhiên, không nên lạm dụng hàm này trong những đoạn mã cần thể hiện rõ từng khóa và giá trị. Khi tên khóa khác tên biến hoặc cấu trúc dữ liệu phức tạp, cách khai báo mảng trực tiếp thường dễ đọc và dễ bảo trì hơn.
Vì vậy, có thể xem compact() là lựa chọn tiện lợi khi nhiều biến đã được chuẩn bị sẵn và cần đóng gói chúng thành một mảng có cấu trúc tương ứng. Việc sử dụng đúng hoàn cảnh sẽ giúp mã nguồn ngắn gọn mà vẫn giữ được tính rõ ràng.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm compact() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *