PHP에서 연관 배열 또는 순차 배열 식별
PHP에서는 기본적으로 배열을 연관 배열로 처리하므로 순차 배열과 연관 배열을 구별하는 것이 어렵습니다. . 이는 배열을 "목록"(0부터 시작하는 숫자 키) 또는 연관 배열(이름이 지정된 키)로 분류해야 하기 때문에 발생합니다.
순차 배열 식별
배열이 순차적인지 확인하려면 다음 함수를 사용할 수 있습니다. 고용됨:
function array_is_list(array $arr) { if ($arr === []) { return true; } return array_keys($arr) === range(0, count($arr) - 1); }
이 함수를 사용하여 다음 배열을 구별할 수 있습니다.
$arr1 = ['apple', 'orange', 'tomato', 'carrot']; $arr2 = ['fruit1' => 'apple', 'fruit2' => 'orange', 'veg1' => 'tomato', 'veg2' => 'carrot']; var_dump(array_is_list($arr1)); // true (sequential array) var_dump(array_is_list($arr2)); // false (associative array)
레거시 코드 및 PHP 8.1
PHP의 경우 8.1 이상에서는 내장 array_is_list() 함수를 사용하면 사용자 정의가 필요하지 않습니다. 기능:
var_dump(array_is_list(['a', 'b', 'c'])); // true var_dump(array_is_list(['1' => 'a', '0' => 'b', '2' => 'c'])); // true var_dump(array_is_list(['a' => 'a', 'b' => 'b', 'c' => 'c'])); // false
위 내용은 PHP에서 순차배열과 연관배열을 어떻게 구별할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!