php獲取一維,二維陣列長度的方法(有例項)

suboysugar發表於2016-06-05

在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)
?>

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章