在《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影片教學》~快來學習吧!
以上是PHP演算法練習六:判斷一個值是否在陣列中連續出現三次的詳細內容。更多資訊請關注PHP中文網其他相關文章!