當前位置:才華齋>計算機>php語言>

php獲取陣列長度詳解

php語言 閱讀(1.51W)

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

php獲取陣列長度詳解

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 '不統計多維陣列:'t($arr,0);//count($arr,COUNT_NORMAL)

echo "<br/>";

echo '統計多維陣列:'t($arr,1);//count($arr,COUNT_RECURSIVE)

?>