두 가지 판단 방법: 1. count() 함수를 사용하여 두 번째 매개변수가 생략된 경우와 두 번째 매개변수가 생략되지 않은 경우 얻은 길이가 동일한지 비교합니다. 구문은 "count($arr)!=count입니다. ($arr,1 )", 반환 값이 true이면 2차원 배열이고 그 반대도 마찬가지입니다. 2. foreach 문을 사용하여 배열을 반복하고, 루프 본문에서 is_array()를 사용하여 요소 값이 배열 유형이 아닌지 확인합니다. 하나는 2차원 배열입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
배열이 2차원 배열인지 확인하는 PHP의 두 가지 방법
방법 1 : count() 함수를 사용하여 배열의 단위 수 또는 객체
count ( mixed $var [, int $mode ] )$mode의 속성 수를 계산하는
count() 함수를 결정합니다. $mode는 선택적 매개변수이며 생략 가능합니다.
$mode 매개변수가 생략되거나 COUNT_NORMAL 또는 0으로 설정된 경우 count() 함수는 다차원 배열을 감지하지 않습니다.
$mode가 COUNT_RECURSIVE 또는 1로 설정된 경우 count() 함수는 배열을 재귀적으로 계산합니다. 의 요소 수는 다차원 배열의 요소 수를 계산하는 데 특히 유용합니다.
$mode 매개변수를 생략하면 count는 다차원 배열을 감지하지 못하고 한 차원의 요소 수만 가져옵니다.
그러므로 $mode 매개변수를 생략했을 때 얻은 길이와 $mode 매개변수를 생략하지 않았을 때 얻은 길이가 동일한지 비교하면 2차원 배열인지 판단할 수 있습니다.
count($arr) != count($arr, 1)
같지 않으면(반환 값이 true) 2차원 배열입니다.
같으면(반환 값이 false) 2차원 배열이 아닙니다
<?php header('content-type:text/html;charset=utf-8'); $arr = array(1,array(2,4),6); var_dump($arr); if (count($arr) != count($arr, 1)) { echo '是二维数组'; } else { echo '不是二维数组'; } ?>
방법 2: foreach 문 + is_array() 함수
foreach 문을 사용하여 배열을 반복합니다.
루프 본문에서 is_array() 함수를 사용하여 요소 값이 다음과 같은지 확인합니다. 배열 유형이 아닌 경우 2차원 배열이 아니며, 있는 경우 2차원 배열입니다
<?php header("content-type:text/html;charset=utf-8"); $arr = array(1,2,3,4,5); var_dump($arr); $con=0; foreach($arr as $v){ if(is_array($v)){ $con=1; break; }else{ $con=0; } } if($con==1){ echo "是二维数组"; }else{ echo "不是二维数组"; } ?>
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 배열이 2차원 배열인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!