首頁 >後端開發 >PHP問題 >php怎麼判斷數組是否為二維數組

php怎麼判斷數組是否為二維數組

青灯夜游
青灯夜游原創
2022-09-07 19:25:503531瀏覽

兩種判斷方法:1、利用count()函數比較省略第二參數和不省略第二參數時,取得的長度是否一樣即可,語法「count($arr)!=count( $arr,1)”,傳回值為true則是二維數組,反之則不是。 2.用foreach語句循環遍歷數組,在循環體中用is_array()判斷元素值是否為數組類型,如果都不是則不是二維數組,如果有一個是則是二維數組。

php怎麼判斷數組是否為二維數組

本教學操作環境: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(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr = array(1,array(2,4),6); 
var_dump($arr);
if (count($arr) != count($arr, 1)) {
    echo &#39;是二维数组&#39;;
} else {
    echo &#39;不是二维数组&#39;;
} 
?>

php怎麼判斷數組是否為二維數組

#方法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怎麼判斷數組是否為二維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn