판단 단계: 1. array_keys()를 사용하여 원래 배열의 모든 키 이름을 가져옵니다. 구문은 "array_keys(array)"입니다. 2. array_filter()를 사용하여 배열을 필터링합니다. 구문은 "function f( $v){return(is_string($ v));}$res=array_filter($keys,"f");"는 문자열 요소가 포함된 필터 배열을 반환합니다. 3. 필터 배열이 빈 배열인지 확인합니다. 비어 있으면 배열은 인덱스 배열입니다.
본 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP에서는 인덱스 배열의 첨자(키 이름)가 숫자로 구성됩니다. 숫자가 아닌 배열인 경우 이 배열은 연관 배열(인덱스 배열이 아님)입니다.
따라서 배열이 인덱스 배열인지 확인하려면 배열의 키 이름이 모두 숫자인지 확인하기만 하면 됩니다.
구현 단계:
1단계: array_keys() 함수를 사용하여 원래 배열의 모든 키 이름을 가져옵니다.
array_keys() 함수는 배열의 모든 키 이름을 포함하는 새 배열을 반환합니다.
array_keys(array,value,strict)
Parameters | Description |
---|---|
array | 필수입니다. 배열을 지정합니다. |
value | 선택 사항입니다. 키 값을 지정하면 해당 키 값에 해당하는 키 이름만 반환됩니다. |
strict | 선택사항. 값 매개변수와 함께 사용됩니다. 가능한 값:
|
<?php header('content-type:text/html;charset=utf-8'); $arr=array("r"=>"red",2,3,"hello",5,6); var_dump($arr); $keys=array_keys($arr); var_dump($keys); ?>
2단계: array_filter() 및 is_string() 함수를 사용하여 배열을 필터링하고 키 배열의 문자열 요소를 반환합니다.
function f($v){ return(is_string($v)); } $res=array_filter($keys,"f"); var_dump($res);
는 문자열 요소를 반환합니다. 필터 배열을 포함
3단계: 필터 배열이 빈 배열인지 확인
$res==[]
비어 있으면 배열은 인덱스 배열입니다.
비어 있지 않으면 배열은 그렇지 않습니다. 인덱스 배열이지만 연관 배열
구현 코드:
<?php header('content-type:text/html;charset=utf-8'); function f($v){ return(is_string($v)); } function fun($arr){ $keys=array_keys($arr); $res=array_filter($keys,"f"); if($res==[]){ echo "数组是索引数组<br>"; }else{ echo "数组不是索引数组,是关联数组<br>"; } } $arr=array("r"=>"red",2,3,"hello",5,6); var_dump($arr); fun($arr); $arr=array(1,2,3,"hello",5,6); var_dump($arr); fun($arr); ?>
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 배열이 인덱스 배열인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!