在《PHP算法練習五:判斷一個數是不是指定數的倍數》中給大家介紹了如何判斷一個數是不是指定數的倍數,這是一個非常簡單基礎的練習,想必大家都已經掌握了。
下面我繼續帶大家學習PHP算法相關的知識,希望對大家能有所幫助吧!
正如標題所言,本文我們要求用PHP判斷一個值在數組中是不是連續出現三次,也就是說一個數組中某個值連續出現一次、兩次都要被判斷為假。
各位可以自己在本地練習一下,再看我下面的方法:
PHP代碼如下:
<?php function test($nums) { $arra_len = sizeof($nums) - 1; $n = 0; for ($i = 0; $i < $arra_len; $i++) { $n = $nums[$i]; if ($n == $nums[$i + 1] && $n == $nums[$i + 2]) return true; } return false; } var_dump(test(array(1, 1, 2, 2, 1))); var_dump(test(array(1, 1, 2, 1, 2, 3))); var_dump(test(array(1, 1, 1, 2, 2, 2, 1)));
輸出結果是:
很明顯只有第三個數組符合要求。
這里需要大家了解一個sizeof()
函數;
sizeof()
函數就是用于計算數組中的單元數目或對象中的屬性個數,sizeof()函數也是count()函數的別名,而count()函數也是用于返回數組中元素的數目。
sizeof
函數的語法是sizeof(array,mode);
,
參數分別表示:
array必需,規定數組。
mode可選,規定模式。
可能的值有:
0 – 默認。不對多維數組中的所有元素進行計數
1 – 遞歸地計數數組中元素的數目(計算多維數組中的所有元素)
注:當變量未被設置,或是變量包含一個空的數組,該函數會返回 0;可使用 isset()
變量來測試變量是否被設置。
→ isset() 函數用于檢測變量是否已設置并且非 NULL。如果已經使用 unset() 釋放了一個變量之后,再通過 isset() 判斷將返回 FALSE。若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。
最后給大家推薦最新最全面的《PHP視頻教程》~快來學習吧!