Code Tu Tam

Hàm array_change_key_case trong PHP là gì ?

Rate this post

Hàm array_change_key_case có nhiệm vụ chuyển toàn bộ KEY của một Array về dạng chữ HOA (CASE_UPPER) hoặc dạng chữ thường (măc định là CASE_LOWER). Hàm này tương thích với các phiên bản PHP 4, PHP 5, PHP 7.

Cú pháp của hàm array_change_key_case trong PHP

array_change_key_case ( array $array [, int $case = CASE_LOWER ] ) : array

Đầu vào của hàm là một mảng, và CASE muốn chuyển đổi va trả về một mảng mới với KEY đã được chuyển sang dạng mới.

Ví dụ sử dụng array_change_key_case trong PHP 

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

Dữ liệu trả về sẽ là

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Lưu ý: Khi trong mảng có nhiều hơn 1 KEY trùng nhau, thì mảng mới sẽ lấy KEY và VALUE của phần tử sau.

Đồng thời việc chuyển đổi các mảng có key là ký tự UTF-8 cũng sẽ gặp chút khó khăn, để giải quyết vấn đề này chúng ta cần tạo ra một hàm mới dựa trên hàm array_change_key_case 

như sau:

function array_change_key_case_unicode($arr, $c = CASE_LOWER) {
    $c = ($c == CASE_LOWER) ? MB_CASE_LOWER : MB_CASE_UPPER;
    foreach ($arr as $k => $v) {
        $ret[mb_convert_case($k, $c, "UTF-8")] = $v;
    }
    return $ret;
}

 

Và sau đó là tận hương thành quả.

$arr = array("FirSt" => 1, "yağ" => "Oil", "şekER" => "sugar");
print_r(array_change_key_case($arr, CASE_UPPER));
print_r(array_change_key_case_unicode($arr, CASE_UPPER));
?>

Array
(
    [FIRST] => 1
    [YAğ] => Oil
    [şEKER] => sugar
)
Array
(
    [FIRST] => 1
    [YAĞ] => Oil
    [ŞEKER] => sugar
)

 

Hi vọng sau bài viết này, bạn có thể nắm rõ và hiểu được cách sử dụng hàm array_change_key_case  trong việc chuyển KEY của Array sang viết hoa. Nếu thấy bài viết hay và ý nghĩa, bạn hãy like và chia sẻ để mọi người cùng học hỏi nhé.

 

 

 

 

 

 

 

 

 

 

 

 

 

Exit mobile version