兩種判斷方法:1、利用count()函數比較省略第二參數和不省略第二參數時,取得的長度是否一樣即可,語法「count($arr)!=count( $arr,1)”,傳回值為true則是二維數組,反之則不是。 2.用foreach語句循環遍歷數組,在循環體中用is_array()判斷元素值是否為數組類型,如果都不是則不是二維數組,如果有一個是則是二維數組。
本教學操作環境: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影片教學》
以上是php怎麼判斷數組是否為二維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!