Array_Column 은 PHP에서 매우 유용한 기능으로 다차원 배열에서 지정된 열의 값을 추출 할 수 있습니다. 경우에 따라 배열에서 특정 요소의 특정 열에는 널 값이 포함될 수 있으며, PHP가 이러한 널 값을 처리하는 방법을 이해하는 데 예기치 않은 오류를 피하려면 중요합니다.
이 기사에서는 array_column 함수를 사용하여 배열에서 값을 추출 할 때 PHP가 이러한 NULL 값을 처리하는 방법, 열의 값이 NULL 인 경우,주의를 기울일 특별한 동작이 있는지에 대해 논의합니다.
먼저 Array_Column 함수의 기본 사용법을 간단히 검토해 봅시다. 다음 매개 변수를 허용합니다.
배열 : 입력 다차원 배열.
열 이름 또는 열 색인 : 추출 할 열을 지정합니다.
인덱스 열 (선택 사항) :이 매개 변수가 제공되면이 인덱스 된 열에 따라 반환 된 배열이 재구성됩니다.
다음은 Array_Column을 사용하는 간단한 예입니다.
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => 2, 'name' => 'Bob', 'email' => null],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
// 발췌 email 목록
$emails = array_column($array, 'email');
print_r($emails);
?>
산출:
Array
(
[0] => alice@example.com
[1] =>
[2] => charlie@example.com
)
이 예에서는 이메일 열을 추출하고 두 번째 요소의 이메일 값이 NULL 임을 알 수 있습니다. PHP는 처리 할 때 빈 문자열 ( "" )으로 변환하며 배열에서 값을 완전히 제거하지 않습니다.
array_column 에서 열을 추출하고 열에 null 값이 포함되어 있으면 PHP는 널 값을 빈 문자로 자동 변환합니다. 이것은 값을 삭제하는 것이 아니라 널을 반환 된 배열에 빈 문자열로 저장하는 것입니다.
위의 예에서, 두 번째 요소의 이메일 열은 null 이고 최종 출력 배열은 빈 문자열을 보여줍니다. 다른 값 (정수 또는 부울 등)이면 그대로 반환됩니다.
널 값을 문자열로 바꾸십시오 : 위에 표시된 것처럼 PHP는 널 값을 빈 문자로 대체합니다. 즉, 배열로 작업하는 경우 널 값과 빈 문자열을 구별하는 방법에 특별한주의를 기울여야 할 수도 있습니다. 빈 줄과 널은 PHP의 다른 유형이며, 특히 조건부 판단과 관련하여 논리적 오류를 유발할 수 있습니다.
UNSET 열의 처리 : 추출하려는 열이 배열에 존재하지 않으면 Array_Column이 빈 배열을 반환합니다. 따라서 Array_Column을 사용할 때는 추출 할 열이 어레이 구조에 존재하는지 확인하여 불필요한 빈 배열을 반환하지 마십시오.
인덱스 열 NULL 의 경우 : 인덱스 열 (세 번째 매개 변수)을 제공하고 열의 값이 NULL 인 경우 Array_Column은이 를 무시하고 최종 결과에 요소를 포함하지 않습니다. 예를 들어:
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => null, 'name' => 'Bob', 'email' => null],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
// 발췌 email 목록,~에 따르면 id 목록作为索引
$emails = array_column($array, 'email', 'id');
print_r($emails);
?>
산출:
Array
(
[1] => alice@example.com
[3] => charlie@example.com
)
이 예에서는 ID NULL이 있는 요소가 무시되고 ID 1 및 3이있는 요소 만 결과에 포함됩니다.
array_column 함수를 사용하는 경우 추출 된 열에 널 값이 포함 된 경우 PHP는이 널을 빈 문자로 변환합니다. 이 동작은 널 값이 포함 된 배열, 특히 조건부 판단에서 널 널리루드 와 빈 문자열을 구별 할 때 특별한 고려 사항을 가져올 수 있습니다. NULL 과 빈 문자열의 차이를 처리 해야하는 경우 논리적 오류를 피하기 위해 열을 추출한 후 배열의 추가 처리를 고려할 수 있습니다.
이 기사가 NULL 값을 처리 할 때 PHP에서 Array_Column 함수의 동작을 더 잘 이해하는 데 도움이되기를 바랍니다.