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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-15 16:07:10832검색

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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