현재 위치: > 최신 기사 목록> Array_Column의 인덱스 열의 값이 null 일 때 처리 메커니즘

Array_Column의 인덱스 열의 값이 null 일 때 처리 메커니즘

M66 2025-04-28

Array_Column 은 PHP에서 매우 유용한 기능으로 다차원 배열에서 지정된 열의 값을 추출 할 수 있습니다. 경우에 따라 배열에서 특정 요소의 특정 열에는 값이 포함될 수 있으며, PHP가 이러한 값을 처리하는 방법을 이해하는 데 예기치 않은 오류를 피하려면 중요합니다.

이 기사에서는 array_column 함수를 사용하여 배열에서 값을 추출 할 때 PHP가 이러한 NULL 값을 처리하는 방법, 열의 값이 NULL 인 경우,주의를 기울일 특별한 동작이 있는지에 대해 논의합니다.

array_column 함수의 기본 사용

먼저 Array_Column 함수의 기본 사용법을 간단히 검토해 봅시다. 다음 매개 변수를 허용합니다.

  1. 배열 : 입력 다차원 배열.

  2. 열 이름 또는 열 색인 : 추출 할 열을 지정합니다.

  3. 인덱스 열 (선택 사항) :이 매개 변수가 제공되면이 인덱스 된 열에 따라 반환 된 배열이 재구성됩니다.

다음은 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 이고 최종 출력 배열은 빈 문자열을 보여줍니다. 다른 값 (정수 또는 부울 등)이면 그대로 반환됩니다.

주목해야 할 것

  1. 널 값을 문자열로 바꾸십시오 : 위에 표시된 것처럼 PHP는 값을 빈 문자로 대체합니다. 즉, 배열로 작업하는 경우 값과 빈 문자열을 구별하는 방법에 특별한주의를 기울여야 할 수도 있습니다. 빈 줄과 널은 PHP의 다른 유형이며, 특히 조건부 판단과 관련하여 논리적 오류를 유발할 수 있습니다.

  2. UNSET 열의 처리 : 추출하려는 열이 배열에 존재하지 않으면 Array_Column이 빈 배열을 반환합니다. 따라서 Array_Column을 사용할 때는 추출 할 열이 어레이 구조에 존재하는지 확인하여 불필요한 빈 배열을 반환하지 마십시오.

  3. 인덱스 열 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 함수의 동작을 더 잘 이해하는 데 도움이되기를 바랍니다.