php獲取數組長度的方法(有實例)

php獲取數組長度的方法,php爲我們提供了兩個函數可以計算一維數組長度,如count,sizeof都可以直接統計數組長度,還有獲取二維數組的方法。

在php中獲取數組長度方法很簡單,php爲我們提供了兩個函數可以計算一維數組長度,如count,sizeof都可以直接統計數組長度哦,下面我們來看幾個實例吧。

php如何獲取數組的長度,使用php函數count(),或是sizeof()
例如:

$arr = Array('0','1','2','3','4'); 
echo count($arr);
// 輸出 5
$arr = array('A','B','C');
echo sizeof($arr);
//輸出3

sizeof()和count()具有同樣的用途,這兩個函數都可以返回數組元素個數.可以得到一個常規標量變量中的元素個數,如果傳遞給這個函數的數組是一個空數組,或者是一個沒有經過設定的變量,返回的數組元素個數就是0;
兩函數功能一樣,手冊上講,sizeof()是函數count()的別名。

那麼多維數組長度要怎麼統計呢?繼續看例子
比如你讀取的數組是一個二維數組:

<?php
$arr=array(
         0=>array('title' => '新聞1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
         1=>array('title' => '新聞2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
        );
?>

如果你想統計數組$arr的長度,也就是說該二維數組只有兩條新聞,你想要的數字也是2,但是如果使用count($arr)不同版本的php,統計的結果是不一樣的;
後來在php手冊中發現,count函數還有第二個參數,解釋如下:
count函數有兩個參數:
0(或COUNT_NORMAL)爲默認,不檢測多維數組(數組中的數組);
1(或COUNT_RECURSIVE)爲檢測多維數組,
所以如果要判斷讀取的數組$arr是不是有新聞信息,就要這樣寫了:

<?php
if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
{
 .....
} else {
 .....
}
?>

你可以使用這樣的代碼來測試該函數:

<?php
$arr=array(
         0=>array('title' => '新聞1', 'viewnum' => 123, 'content' => 'ZAQXSWedcrfv'),
         1=>array('title' => '新聞2', 'viewnum' => 99, 'content' => 'QWERTYUIOPZXCVBNM')
        );

echo '不統計多維數組:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo "<br/>";
echo '統計多維數組:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>

實際環境中我們大多數情況下都是用array().length獲取長度即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章