>백엔드 개발 >PHP 튜토리얼 >PHP에서 연관배열과 순차배열을 어떻게 구별할 수 있나요?

PHP에서 연관배열과 순차배열을 어떻게 구별할 수 있나요?

DDD
DDD원래의
2025-01-01 07:13:11282검색

How Can I Distinguish Between Associative and Sequential Arrays in PHP?

PHP에서 연관 배열과 순차 배열 확인

PHP는 모든 배열을 연관 배열로 유지하므로 연관 배열과 순차 배열을 구별하는 대체 방법이 필요합니다. 배열, 특히 다음으로 시작하는 숫자 키만 포함하는 배열 0.

해결책: array_is_list() 함수

PHP 8.1에서는 간단한 해결 방법을 제공하는 array_is_list() 함수를 도입했습니다.

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 8.1을 지원하지 않는 레거시 코드로 작업하는 경우 다음 사용자 정의 함수를 사용할 수 있습니다.

function array_is_list(array $arr) {
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}

이 함수는 array_is_list( ) 함수를 사용하여 다양한 PHP 버전에 걸쳐 이식할 수 있습니다.

위 내용은 PHP에서 연관배열과 순차배열을 어떻게 구별할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.