PHP 프로그래밍에서 Array_Column은 다차원 배열에서 열의 값을 추출하는 데 일반적으로 사용되는 기능입니다. 데이터를보다 빠르게 처리하고 변환하는 데 도움이되지만 때로는 Array_Column을 사용할 때 "열이 찾을 수없는"오류가 발생합니다. 이 오류는 일반적으로 배열에 존재하지 않는 열에 액세스하려고 할 때 발생합니다. 이 기사는이 오류의 일반적인 원인을 탐색하고 솔루션을 제공합니다.
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이 이름 열을 올바르게 추출 할 수 있습니다. 그러나 배열이 올바르지 않으면 오류가 발생합니다.
$array = [
['id' => 1, 'age' => 25],
['id' => 2, 'age' => 30],
['id' => 3, 'age' => 22],
];
$names = array_column($array, 'name'); // 실수:배열에 없습니다 "name" 목록
이 예에서는 배열에 이름 열이 전혀 없으므로 Array_Column은 "열되지 않는 열"오류를 던집니다.
배열의 각 서브 어레이에 대상 열이 존재하는지 확인합니다.
array_column 에 전달 된 열 이름이 올바른지 확인하십시오.
Array_Column 함수는 배열의 각 서브 어레이의 키 이름이 전달 된 열 이름과 일치하는지 여부를 알 수 있습니다. 일부 서브 어레이가 열이 없거나 열에 키 이름이 다른 경우이 오류가 발생할 수 있습니다.
$array = [
['id' => 1, 'name' => 'Alice'],
['id' => 2], // 부족 'name' 열쇠
['id' => 3, 'name' => 'Charlie'],
];
$names = array_column($array, 'name'); // 실수:第二项부족 'name' 열쇠
이 예에서 두 번째 서브 어레이에는 이름 키가 부족하므로 이름 열을 추출 할 때 Array_Column이 실패하여 "열되지 않은"오류를 던집니다.
각 서브 어레이에 동일한 구조가 있는지 확인하십시오.
열이 존재하는지 확실하지 않은 경우 먼저 확인하거나 array_column 의 세 번째 매개 변수 index_key를 사용하여 열 누락 문제를 피할 수 있습니다.
PHP는 CASE에 민감합니다. 즉, array_column을 사용할 때 열 이름의 경우와 정확히 일치해야합니다. 열 이름의 경우가 일치하지 않으면 열도 찾을 수 없습니다.
$array = [
['ID' => 1, 'Name' => 'Alice'],
['ID' => 2, 'Name' => 'Bob'],
['ID' => 3, 'Name' => 'Charlie'],
];
$names = array_column($array, 'name'); // 실수:목록名大小写不一致
위의 코드에서 배열의 열은 이름 이고, 우리가 전달하는 열 이름은 이름 (소문자)입니다. 일관성이없는 경우, Array_Column은 이름 열을 찾을 수 없으므로 "열이 찾을 수 없음"오류가 발생합니다.
들어오는 열 이름이 배열의 열 이름과 일치하는지 확인하십시오.
들어오는 배열이 비어 있으면 Array_Column은 아무것도 수행 할 수 없으며 열을 찾을 수 없습니다. 이 케이스는 "열되지 않은"오류를 던지지 않지만 결과는 빈 배열이됩니다. 실수는 아니지만 때로는이 상황이 오해를 유발할 수 있습니다.
$array = [];
$names = array_column($array, 'name'); // 빈 배열을 반환하십시오,不是실수
print_r($names); // 산출:Array()
array_column을 호출하기 전에 배열이 비어 있는지 확인하십시오.
Array_Column 함수는 PHP 버전 5.5.0에 소개되었습니다. PHP 버전이 5.5.0보다 낮은 경우이 기능을 사용할 수 없으며 관련 오류도 발생합니다.
PHP 5.5 이상으로 업그레이드하십시오.
Array_Column 은 매우 유용한 기능이지만 사용할 때 "열되지 않음"오류가 발생할 수 있습니다. 일반적인 이유에는 배열 구조가 기대치, 열 이름 오류, 어레이의 일관되지 않은 키 이름, 열 이름의 일관성없는 경우, 빈 배열 및 PHP 버전이 너무 낮습니다. 이러한 문제에 대한 솔루션에는 배열 구조가 올바른지 확인하고 열 이름이 일관성이 있는지 확인하고 PHP 버전이 요구 사항을 충족하는지 확인합니다.
이 오류가 발생하면 위의 측면을 확인하면 문제를 신속하게 찾아서 해결하는 데 도움이됩니다.