현재 위치: > 최신 기사 목록> Array_change_key_case ()의 효과 array_unique () 전후에 사용 된 효과

Array_change_key_case ()의 효과 array_unique () 전후에 사용 된 효과

M66 2025-05-12

PHP에서 배열을 처리 할 때 기능 호출 순서는 종종 결과에 중요한 영향을 미칩니다. Array_change_key_case ()array_unique () 는 배열 작업에 일반적으로 사용되는 두 가지 함수이지만이 두 기능이 함께 사용될 때 순서가 결과에 영향을 미칠 것이라고 생각한 적이 있습니까? 이 기사를 사용하면 사용법과 순서 차이를 순서대로 이해하게됩니다.

기능 소개

Array_change_key_case (array $ array, int $ case = case_lower) : 배열

이 기능은 배열의 키 이름을 소문자 ( Case_Lower ) 또는 대문자 ( Case_Upper )로 균일하게 변환하는 데 사용됩니다. 이것은 일관되지 않은 키 이름 (예 : 사용자가 입력 한 매개 변수)을 처리 할 때 매우 유용한 도구입니다.

 $data = [
    "Name" => "Alice",
    "AGE" => 25,
    "Gender" => "Female"
];

$result = array_change_key_case($data, CASE_LOWER);
// 결과:['name' => 'Alice', 'age' => 25, 'gender' => 'Female']

Array_unique (Array $ array, int $ flags = sort_string) : 배열

이 함수는 배열에서 중복 값을 제거하는 데 사용되며 나타나는 첫 번째 키 값 쌍 만 유지합니다. 키 이름이 아니라 "값"에만 작용한다는 점에 유의해야합니다.

 $data = ["apple", "banana", "Apple", "banana"];
$result = array_unique($data);
// 기본값은 사례에 민감합니다:['apple', 'banana', 'Apple']

사용 순서의 차등 분석

순서가 다른 경우이 두 기능을 결합하여 결과가 어떻게 변하는 지 확인해 봅시다.

1. array_change_key_case ()가 앞에 배치됩니다

 $data = [
    "Name" => "Alice",
    "name" => "Bob",
    "AGE" => 25,
    "age" => 30
];

$data = array_change_key_case($data, CASE_LOWER);
$data = array_unique($data);

print_r($data);

출력 결과 :

 Array
(
    [name] => Alice
    [age] => 25
)

이 경우 키 이름의 경우 먼저 통합되고 "이름""이름" 이 동일한 키로 취급되므로 후자는 덮어 씁니다. Array_unique ()를 사용하여 값에 대한 반복이 제거되지만 키가 이미 통합되어 있기 때문에 영향은 크지 않습니다.

2. Array_unique ()가 앞에 배치됩니다

 $data = [
    "Name" => "Alice",
    "name" => "Bob",
    "AGE" => 25,
    "age" => 30
];

$data = array_unique($data);
$data = array_change_key_case($data, CASE_LOWER);

print_r($data);

출력 결과 :

 Array
(
    [name] => Alice
    [age] => 25
    [age_1] => 30
)

이런 식으로 고유 한 값을 가진 키 값 쌍이 먼저 유지되고 키 이름이 통합됩니다. 결과적으로 "Age""Age" 와 같은 키 이름 충돌이 모두 보존되지만 소문자로 변환 한 후에 키 이름이 반복됩니다. PHP는 배열 에서이 충돌을 자동으로 처리합니다 (예 : Age_1 과 같은 임시 키 이름으로 태그).

어떤 주문이 ​​더 합리적입니까?

데이터를 처리하려는 의도에 따라 다릅니다.

  • 키 이름의 일관성에 더주의를 기울이면 (예 : 값을 검색하기 위해 키 이름을 사용하기 위해) 먼저 Array_change_key_case ()를 사용해야 합니다.

  • 중복 값을 제거하는 데 더 집중하고 키 이름이 중요하지 않은 경우 , 주문은 큰 영향을 미치지 않지만 먼저 더 많은 원래 데이터 구조를 보존하기 위해 Array_unique ()에게 권장됩니다 .

실용적인 응용 프로그램 예

일관되지 않은 케이스 키와 중복 값이있는 양식에서 사용자 제출 된 데이터를 수신한다고 가정하면 통합하여 API 인터페이스 https://m66.net/api/submit.php 로 보내려고합니다.