Hàm array_change_key_case() trong PHP

Hàm array_change_key_case() trong PHP
Hàm array_change_key_case() trong PHP

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 )

Chạy Thử

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 nameage đượ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
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm array_change_key_case() trong PHP
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !