在《PHP算法練習(xí)五:判斷一個(gè)數(shù)是不是指定數(shù)的倍數(shù)》中給大家介紹了如何判斷一個(gè)數(shù)是不是指定數(shù)的倍數(shù),這是一個(gè)非常簡單基礎(chǔ)的練習(xí),想必大家都已經(jīng)掌握了。
下面我繼續(xù)帶大家學(xué)習(xí)PHP算法相關(guān)的知識(shí),希望對大家能有所幫助吧!
正如標(biāo)題所言,本文我們要求用PHP判斷一個(gè)值在數(shù)組中是不是連續(xù)出現(xiàn)三次,也就是說一個(gè)數(shù)組中某個(gè)值連續(xù)出現(xiàn)一次、兩次都要被判斷為假。
各位可以自己在本地練習(xí)一下,再看我下面的方法:
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)));
輸出結(jié)果是:
很明顯只有第三個(gè)數(shù)組符合要求。
這里需要大家了解一個(gè)sizeof()
函數(shù);
sizeof()
函數(shù)就是用于計(jì)算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€(gè)數(shù),sizeof()函數(shù)也是count()函數(shù)的別名,而count()函數(shù)也是用于返回?cái)?shù)組中元素的數(shù)目。
sizeof
函數(shù)的語法是sizeof(array,mode);
,
參數(shù)分別表示:
array必需,規(guī)定數(shù)組。
mode可選,規(guī)定模式。
可能的值有:
0 – 默認(rèn)。不對多維數(shù)組中的所有元素進(jìn)行計(jì)數(shù)
1 – 遞歸地計(jì)數(shù)數(shù)組中元素的數(shù)目(計(jì)算多維數(shù)組中的所有元素)
注:當(dāng)變量未被設(shè)置,或是變量包含一個(gè)空的數(shù)組,該函數(shù)會(huì)返回 0;可使用 isset()
變量來測試變量是否被設(shè)置。
→ isset() 函數(shù)用于檢測變量是否已設(shè)置并且非 NULL。如果已經(jīng)使用 unset() 釋放了一個(gè)變量之后,再通過 isset() 判斷將返回 FALSE。若使用 isset() 測試一個(gè)被設(shè)置成 NULL 的變量,將返回 FALSE。
最后給大家推薦最新最全面的《PHP視頻教程》~快來學(xué)習(xí)吧!