Hàm array_change_key_case() trong PHP
Trần Thị Vân
- 1100
- 28/07/2025
Chức năng của Hàm array_change_key_case() trong PHP
Hàm array_change_key_case() trong PHP dùng để đồng bộ tên của khóa (key) trong một mảng về hết chữ hoa hoặc về hết chữ thường.
Cú pháp của Hàm array_change_key_case() trong PHP
array_change_key_case($mảng_gốc,cách_đồng_bộ)
$mảng_gốc: Biến mảng gốc.
cách_đồng_bộ: Cách đồng bộ, nếu dùng CASE_UPPER thì đổi hết tên khóa (key) về chữ hoa, nếu dùng CASE_LOWER thì đổi hết tên khóa (key) về chữ thường.
Code Hàm array_change_key_case() trong PHP
<?php
$manggoc = array("Luc"=>"35","Van"=>"29","Quynh"=>"1");
?>
<h2>array_change_key_case() dùng CASE_UPPER</h2>
<p>Để đổi hết tên khóa (key) về chữ hoa:</p>
<?php
print_r(array_change_key_case($manggoc,CASE_UPPER));
?>
<h2>array_change_key_case() dùng CASE_LOWER</h2>
<p>Để đổi hết tên khóa (key) về chữ thường:</p>
<?php
print_r(array_change_key_case($manggoc,CASE_LOWER));
?>
Kết quả:
/////array_change_key_case() dùng CASE_UPPER
Để đổi hết tên khóa (key) về chữ hoa:
Array ( [LUC] => 35 [VAN] => 29 [QUYNH] => 1 )
/////array_change_key_case() dùng CASE_LOWER
Để đổi hết tên khóa (key) về chữ thường:
Array ( [luc] => 35 [van] => 29 [quynh] => 1 )
Những lưu ý khi sử dụng hàm array_change_key_case() trong PHP
Hàm array_change_key_case() khá đơn giản nhưng vẫn có một số điểm cần chú ý khi sử dụng trong dự án thực tế. Đặc biệt, việc hiểu rõ hàm tác động lên mảng nào, cách xử lý key và lựa chọn kiểu chữ sẽ giúp tránh những thay đổi dữ liệu ngoài ý muốn.
array_change_key_case() có làm thay đổi mảng ban đầu không?
Không. Hàm array_change_key_case() trả về một mảng mới với key đã được chuyển sang chữ thường hoặc chữ hoa, thay vì sửa trực tiếp mảng được truyền vào.
Vì vậy, nếu muốn tiếp tục sử dụng kết quả sau khi chuyển đổi, bạn nên gán giá trị trả về cho một biến:
<?php
$data = [
'UserName' => 'An',
'EMAIL' => 'an@example.com'
];
$newData = array_change_key_case($data, CASE_LOWER);
print_r($newData);
?>
Trong ví dụ này, $data vẫn giữ nguyên key ban đầu, còn $newData chứa các key đã chuyển thành chữ thường. Cách hoạt động này đặc biệt hữu ích khi cần tạo một phiên bản dữ liệu mới mà không muốn ảnh hưởng đến mảng gốc.
Xử lý trường hợp key không phải chuỗi
Hàm chủ yếu xử lý các key dạng chuỗi. Với key số nguyên, PHP không thể chuyển chúng thành chữ hoa hoặc chữ thường nên các key này được giữ nguyên.
<?php
$data = [
'Name' => 'An',
10 => 'PHP',
'AGE' => 25
];
$result = array_change_key_case($data, CASE_LOWER);
print_r($result);
?>
Kết quả sẽ có key name và age được chuyển đổi, trong khi key 10 vẫn giữ nguyên. Do đó, khi xử lý mảng kết hợp có cả key số và key chuỗi, bạn không nên kỳ vọng tất cả key đều thay đổi.
Khi nào nên dùng CASE_UPPER và khi nào nên dùng CASE_LOWER?
CASE_LOWER phù hợp khi muốn chuẩn hóa key về một dạng thống nhất, đặc biệt với dữ liệu nhận từ nhiều nguồn có cách viết key khác nhau. Đây thường là lựa chọn dễ đọc và thuận tiện khi truy cập dữ liệu.
CASE_UPPER thích hợp khi quy ước của ứng dụng sử dụng key viết hoa, chẳng hạn một số cấu trúc dữ liệu cấu hình hoặc các mã định danh được quy chuẩn bằng chữ in hoa.
Điều quan trọng là nên chọn một quy ước nhất quán trong cùng một luồng xử lý. Nếu các phần khác nhau của chương trình sử dụng cả key hoa và key thường, việc truy cập dữ liệu có thể trở nên khó kiểm soát.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm array_change_key_case() 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 *