PHP에서는 count() 함수를 사용하여 배열의 길이를 얻을 수 있습니다. 두 번째 매개변수를 생략하면 한 차원의 요소 수만 얻을 수 있습니다. 생략된 매개변수와 생략되지 않은 매개변수를 비교합니다. 길이가 동일한 경우 구문은 "count($arr)== count($arr,1)"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서는 count() 함수를 사용하여 판단할 수 있습니다.
<?php header('content-type:text/html;charset=utf-8'); $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); if (count($array) == count($array, 1)) { echo '是一维数组'; } else { echo '是二维数组'; } ?>
해결 방법의 원리:
count ( mixed $var [, int $mode ] )
– 배열의 셀 수 또는 개체의 속성 수를 계산합니다
$mode: 선택적 매개 변수이며 생략할 수 있습니다.
$mode 매개변수가 생략되거나 COUNT_NORMAL 또는 0으로 설정된 경우 count() 함수는 다차원 배열을 감지하지 않습니다.
$mode가 COUNT_RECURSIVE 또는 1로 설정된 경우 count() 함수는 배열을 재귀적으로 계산합니다. 의 요소 수는 다차원 배열의 요소 수를 계산하는 데 특히 유용합니다.
$mode 매개변수를 생략하면 count는 다차원 배열을 감지하지 못하고 한 차원의 요소 수만 가져옵니다.
그래서 $mode 매개변수를 생략했을 때 얻은 길이가 같은지 비교하기만 하면 되고, $mode 매개변수를 생략하지 않았을 때 1차원 배열인지 2차원 배열인지 판단할 수 있습니다.
$mode 매개변수 예:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("张三", 25, array("高数","PHP教程","英语"), ); //输出语句 echo "数组长度为:".count($arr,1); echo "<br>不递归检测数组,长度为:".count($arr); ?>
Output:
数组长度为:6 不递归检测数组,长度为:3
위 출력 결과를 읽고 나면 배열에 요소가 5개("Zhang San", 25, "High)만 있는 것은 아닙니다. Number" ", "PHP Tutorial", "English"), 결과에 배열 길이가 5가 아닌 6으로 표시되는 이유는 무엇입니까?
실제로는 이 때 count() 함수가 2차원 배열의 모든 요소를 계산하기 위해 반복되기 때문입니다. "array("高数","PHP tutorial","English")"는 다음과 같이 계산됩니다. 요소("High Mathematics", "PHP Tutorial", "English")가 다시 계산되므로 최종 결과는 6입니다.
추천: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 1차원 배열인지 2차원 배열인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!