淺談php count()函式方法

Chuzilun發表於2021-04-04

簡單聊一下php中count()函式方法吧,其實本來準備發一篇關於python的文章,但是現在思路有了,但是學的不是很全面,不會爬取。。。很尷尬,因為那個頁面是通過JavaScript渲染的,所以爬取有點難度,不過其實該怎麼爬取應該是明白了,接下來就是通過百度進行學習了,所以今天更新一篇關於php函式的文章吧。

其實這個count()函式方法,大家覺得很簡單,毫無難度啊,我也是這麼認為的。但是今天做題的時候發現,還是有一些如果不看就不會的內容。
比如說
count()函式方法的第二個引數

最常見的用法其實是這樣的

<?php 
        $cars=array("Volvo","BMW","Toyota");
        echo count($cars); 
?>

很簡單很容易就可以獲取陣列裡面的個數,但是假如說我給它加上第二個引數呢?count($cars,1)這樣應該怎麼看呢?

其實這個關係到陣列的引數,我們叫陣列裡面有引數為陣列的陣列為多維陣列,比如說 $shuzu = array(array(1),2) 這就是一個二維陣列了,然後我們如果只是使用 count($shuzu) 的話,得到的結果為2,而我們使用 count($shuzu,1) 的話,得到的結果為3,這是為什麼呢?
其實count()函式方法的第二個引數只能是兩個值,不是0就是1,而0是預設值。

0 - 預設。不對多維陣列中的所有元素進行計數
1 - 遞迴地計數陣列中元素的數目(計算多維陣列中的所有元素)

我們預設的話,那麼就是不記錄陣列裡的陣列內的元素,也就是隻記錄最外層陣列的元素個數,而我們改為1的話,那麼就會記錄陣列內陣列的元素個數,所以上面count($shuzu,1) 的值才為3,其實這個還是很容易理解的,我們直接數就可以了,array()算一個,然後2算一個,接下來 array()內的1也算一個,所以結果為3,如果我們更改為 array(array(1,2,3),2)的話,那麼還是那麼數就行了2+3結果為5。

其實這個還是很簡單的,只要看過一遍就會了,當時不會是因為我確實沒有看到過,所以將這個函式方法的第二個引數記錄下來。
如果有什麼疑問可以在評論區留言,我會在看到的第一時間回覆。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章