兩種判斷方法:1、利用count()函數比較省略第二參數和不省略第二參數時,獲取的長度是否一樣即可,語法“count($arr)!=count($arr,1)”,返回值為true則是二維數組,反之則不是。2、用foreach語句循環遍歷數組,在循環體中用is_array()判斷元素值是否為數組類型,如果都不是則不是二維數組,如果有一個是則是二維數組。
前端(vue)入門到精通課程:進入學習
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
php判斷數組是否為二維數組的兩種方法
方法1:利用count()函數來判斷
count()函數計算數組中的單元數目或對象中的屬性個數
count ( mixed $var [, int $mode ] )
$mode:為可選參數,可以省略。
-
如果省略 $mode 參數,或者將其設置為 COUNT_NORMAL 或者 0,count() 函數將不檢測多維數組;
-
如果 $mode 設置為 COUNT_RECURSIVE 或者 1,count() 函數將遞歸計算數組中元素的個數,對于計算多維數組的元素個數尤為有用。
如果省略 $mode 參數,count則不檢測多維數組,將只獲取一維的元素個數。
因此只需要比較一下省略$mode參數和不省略$mode參數時,獲取的長度是否一樣即可判斷是否為二維數組。
count($arr) != count($arr, 1)
-
如果不相等(返回值為true),則是二維數組
-
如果相等(返回值為false),則不是二維數組
<?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()函數判斷元素值是否為數組類型,如果都不是則不是二維數組,如果有一個是則是二維數組
<?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視頻教程》