연관 및 순차 PHP 배열 구별
PHP는 본질적으로 모든 배열을 연관 배열로 인식하므로 목록처럼 동작하는 배열을 구별하기가 어렵습니다. 이 문제를 해결하기 위해 우리는 배열이 목록에 적합한지 확인하는 신뢰할 수 있는 방법을 모색합니다.
목록 대 연관 배열
$sequentialArray = [ 'apple', 'orange', 'tomato', 'carrot' ];
$assocArray = [ 'fruit1' => 'apple', 'fruit2' => 'orange', 'veg1' => 'tomato', 'veg2' => 'carrot' ];
PHP 8.1에서 목록 식별 및 Beyond
PHP 8.1에서는 배열이 목록인지 편리하게 확인할 수 있는 array_is_list()를 도입했습니다.
array_is_list($sequentialArray); // true
이전 PHP 버전을 위한 레거시 솔루션
8.1 이전 PHP 버전에 맞춰 사용자 정의를 정의할 수 있습니다. 함수:
function array_is_list(array $arr) { if ($arr === []) { return true; } return array_keys($arr) === range(0, count($arr) - 1); }
함수 테스트
var_dump(array_is_list([])); // true var_dump(array_is_list(['a', 'b', 'c'])); // true var_dump(array_is_list(["0" => 'a', "1" => 'b', "2" => 'c'])); // true var_dump(array_is_list(["1" => 'a', "0" => 'b', "2" => 'c'])); // false var_dump(array_is_list(["a" => 'a', "b" => 'b', "c" => 'c'])); // false
이러한 방법을 활용하면 개발자는 연관 배열과 순차 배열을 효과적으로 구분할 수 있어 더욱 정확하고 효율적인 배열이 가능해집니다. PHP 애플리케이션에서 처리합니다.
위 내용은 PHP 배열이 순차 목록인지 어떻게 확실하게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!