현재 위치: > 최신 기사 목록> Array_Column 오류 : 열에 대한 일반적인 이유를 찾을 수 없습니다

Array_Column 오류 : 열에 대한 일반적인 이유를 찾을 수 없습니다

M66 2025-04-28

PHP 프로그래밍에서 Array_Column은 다차원 배열에서 열의 값을 추출하는 데 일반적으로 사용되는 기능입니다. 데이터를보다 빠르게 처리하고 변환하는 데 도움이되지만 때로는 Array_Column을 사용할 때 "열이 찾을 수없는"오류가 발생합니다. 이 오류는 일반적으로 배열에 존재하지 않는 열에 액세스하려고 할 때 발생합니다. 이 기사는이 오류의 일반적인 원인을 탐색하고 솔루션을 제공합니다.

1. 배열 구조가 올바른지 확인하십시오

Array_Column 함수에 대한 첫 번째 인수는 다차원 배열로 배열을 반복하고 지정된 열의 모든 값을 반환합니다. 일반적으로 전달 된 배열 구조는 2 차원 배열이어야하며 각 서브 어레이에는 대상 열이 포함되어 있어야합니다. 배열 구조가 기대치를 충족하지 않으면 지정된 열을 찾을 수 없으므로 "열이 찾을 수 없음"오류가 발생합니다.

예:

 $array = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
];

$names = array_column($array, 'name');  // 옳은
print_r($names);

위의 예에서는 array_column이 이름 열을 올바르게 추출 할 수 있습니다. 그러나 배열이 올바르지 않으면 오류가 발생합니다.

Error example:

 $array = [
    ['id' => 1, 'age' => 25],
    ['id' => 2, 'age' => 30],
    ['id' => 3, 'age' => 22],
];

$names = array_column($array, 'name');  // 실수:배열에 없습니다 "name" 목록

이 예에서는 배열에 이름 열이 전혀 없으므로 Array_Column은 "열되지 않는 열"오류를 던집니다.

해결책:

  • 배열의 각 서브 어레이에 대상 열이 존재하는지 확인합니다.

  • array_column 에 전달 된 열 이름이 올바른지 확인하십시오.

2. 배열의 키 이름은 일치하지 않습니다

Array_Column 함수는 배열의 각 서브 어레이의 키 이름이 전달 된 열 이름과 일치하는지 여부를 알 수 있습니다. 일부 서브 어레이가 열이 없거나 열에 키 이름이 다른 경우이 오류가 발생할 수 있습니다.

Error example:

 $array = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2],  // 부족 'name' 열쇠
    ['id' => 3, 'name' => 'Charlie'],
];

$names = array_column($array, 'name');  // 실수:第二项부족 'name' 열쇠

이 예에서 두 번째 서브 어레이에는 이름 키가 부족하므로 이름 열을 추출 할 때 Array_Column이 실패하여 "열되지 않은"오류를 던집니다.

해결책:

  • 각 서브 어레이에 동일한 구조가 있는지 확인하십시오.

  • 열이 존재하는지 확실하지 않은 경우 먼저 확인하거나 array_column 의 세 번째 매개 변수 index_key를 사용하여 열 누락 문제를 피할 수 있습니다.

3. 키 이름은 사례에 민감합니다

PHP는 CASE에 민감합니다. 즉, array_column을 사용할 때 열 이름의 경우와 정확히 일치해야합니다. 열 이름의 경우가 일치하지 않으면 열도 찾을 수 없습니다.

Error example:

 $array = [
    ['ID' => 1, 'Name' => 'Alice'],
    ['ID' => 2, 'Name' => 'Bob'],
    ['ID' => 3, 'Name' => 'Charlie'],
];

$names = array_column($array, 'name');  // 실수:목록名大小写不一致

위의 코드에서 배열의 열은 이름 이고, 우리가 전달하는 열 이름은 이름 (소문자)입니다. 일관성이없는 경우, Array_Column은 이름 열을 찾을 수 없으므로 "열이 찾을 수 없음"오류가 발생합니다.

해결책:

  • 들어오는 열 이름이 배열의 열 이름과 일치하는지 확인하십시오.

4. 빈 배열

들어오는 배열이 비어 있으면 Array_Column은 아무것도 수행 할 수 없으며 열을 찾을 수 없습니다. 이 케이스는 "열되지 않은"오류를 던지지 않지만 결과는 빈 배열이됩니다. 실수는 아니지만 때로는이 상황이 오해를 유발할 수 있습니다.

Error example:

 $array = [];

$names = array_column($array, 'name');  // 빈 배열을 반환하십시오,不是실수
print_r($names);  // 산출:Array()

해결책:

  • array_column을 호출하기 전에 배열이 비어 있는지 확인하십시오.

5. 지원되지 않는 PHP 버전을 사용하십시오

Array_Column 함수는 PHP 버전 5.5.0에 소개되었습니다. PHP 버전이 5.5.0보다 낮은 경우이 기능을 사용할 수 없으며 관련 오류도 발생합니다.

해결책:

  • PHP 5.5 이상으로 업그레이드하십시오.

요약

Array_Column 은 매우 유용한 기능이지만 사용할 때 "열되지 않음"오류가 발생할 수 있습니다. 일반적인 이유에는 배열 구조가 기대치, 열 이름 오류, 어레이의 일관되지 않은 키 이름, 열 이름의 일관성없는 경우, 빈 배열 및 PHP 버전이 너무 낮습니다. 이러한 문제에 대한 솔루션에는 배열 구조가 올바른지 확인하고 열 이름이 일관성이 있는지 확인하고 PHP 버전이 요구 사항을 충족하는지 확인합니다.

이 오류가 발생하면 위의 측면을 확인하면 문제를 신속하게 찾아서 해결하는 데 도움이됩니다.