Hàm array_unshift() trong PHP
Trần Thị Vân
- 1189
- 04/08/2025
Chức năng của Hàm array_unshift() trong PHP
Hàm array_unshift() trong PHP dùng để thêm những phần tử bằng cách thêm giá trị của phần tử vào vị trí đầu tiên của mảng gốc, đối với mảng bình thường thì các khóa (key) ở trong mảng sẽ cập nhật lại, đối với mảng liên kết thì các khóa (key) phía sau sẽ giữ nguyên và không thay đổi.
Cú pháp của Hàm array_unshift() trong PHP
array_unshift($biến_mảng_gốc,"giá_trị_phần_tử_1","giá_trị_phần_tử_2");
"giá_trị_phần_tử_1","giá_trị_phần_tử_2": Thêm được nhiều phần tử, giá trị thêm vào sẽ làm cột giá trị của phần tử trong mảng.
$biến_mảng_gốc: Biến của mảng gốc.
Ví dụ Hàm array_unshift() trong PHP
<h2>Thêm 2 phần tử vào vị trí đầu tiên của mảng bình thường</h2>
<?php
$manggoc = array("Lực","Quỳnh","Hạ","Vân","Dung");
array_unshift($manggoc,"Nhím","Cherry");
print_r($manggoc); // Kết quả: Array ( [0] => Nhím [1] => Cherry [2] => Lực [3] => Quỳnh [4] => Hạ [5] => Vân [6] => Dung )
echo "<br>";
?>
<h2>Thêm 2 phần tử vào vị trí đầu tiên của mảng liên kết</h2>
<?php
$manggoclk = array("mauxanh"=>"Màu Xanh","mauvang"=>"Màu vàng","maudo"=>"Màu đỏ");
array_unshift($manggoclk,"Màu tím","Màu cam");
print_r($manggoclk); // Kết quả: Array ( [0] => Màu tím [1] => Màu cam [mauxanh] => Màu Xanh [mauvang] => Màu vàng [maudo] => Màu đỏ )
?>
Kết quả:
/////Thêm 2 phần tử vào vị trí đầu tiên của mảng bình thường
Array ( [0] => Nhím [1] => Cherry [2] => Lực [3] => Quỳnh [4] => Hạ [5] => Vân [6] => Dung )
/////Thêm 2 phần tử vào vị trí đầu tiên của mảng liên kết
Array ( [0] => Màu tím [1] => Màu cam [mauxanh] => Màu Xanh [mauvang] => Màu vàng [maudo] => Màu đỏ )
Kinh nghiệm sử dụng Hàm array_unshift() trong PHP
Khi sử dụng array_unshift(), bạn nên chú ý cách hàm tác động trực tiếp đến mảng và lựa chọn phương án phù hợp với từng tình huống. Một vài lưu ý nhỏ sẽ giúp mã PHP dễ kiểm soát hơn, đặc biệt khi làm việc với mảng có nhiều phần tử.
Lưu ý khi thêm phần tử vào đầu mảng
array_unshift() luôn đưa phần tử mới vào vị trí đầu tiên của mảng. Nếu truyền nhiều giá trị trong cùng một lần gọi, các giá trị này sẽ được thêm theo đúng thứ tự được cung cấp.
Điều này phù hợp khi cần ưu tiên một hoặc nhiều phần tử mới, chẳng hạn đưa thông báo mới nhất lên đầu danh sách:
<?php
$thongBao = ['Thông báo cũ'];
array_unshift($thongBao, 'Thông báo mới');
print_r($thongBao);
?>
Không nên sử dụng hàm liên tục trong một vòng lặp lớn nếu không thực sự cần thiết, vì việc chèn phần tử ở đầu có thể khiến PHP phải sắp xếp lại các vị trí phần tử trong mảng.
array_unshift() thay đổi trực tiếp mảng ban đầu
Một điểm quan trọng cần nhớ là array_unshift() không tạo ra một mảng mới để bạn tiếp tục sử dụng độc lập. Hàm sẽ bổ sung phần tử trực tiếp vào mảng được truyền vào.
<?php
$danhSach = ['PHP', 'JavaScript'];
array_unshift($danhSach, 'HTML');
print_r($danhSach);
?>
Sau khi thực hiện, biến $danhSach đã được cập nhật. Vì vậy, nếu mảng ban đầu còn được sử dụng cho một mục đích khác, bạn nên tạo bản sao trước khi thay đổi để tránh ảnh hưởng đến dữ liệu đang có.
Khi nào nên dùng array_unshift() thay vì array_merge()?
Nếu mục tiêu chính là thêm một hoặc vài phần tử vào đầu mảng hiện có, array_unshift() thường là lựa chọn trực tiếp và dễ đọc hơn. Trong khi đó, array_merge() phù hợp hơn khi cần kết hợp nội dung của hai hoặc nhiều mảng thành một mảng mới.
Chẳng hạn, khi chỉ cần đưa một giá trị ưu tiên lên đầu danh sách, dùng array_unshift() sẽ thể hiện rõ ý định của đoạn mã. Ngược lại, nếu dữ liệu được chia thành nhiều mảng và cần hợp nhất chúng, array_merge() sẽ phù hợp hơn.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_unshift() 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 *