首頁  >  文章  >  後端開發  >  PHP演算法練習六:判斷一個值是否在陣列中連續出現三次

PHP演算法練習六:判斷一個值是否在陣列中連續出現三次

藏色散人
藏色散人原創
2021-08-10 09:42:354504瀏覽

在《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)));

輸出結果是:

PHP演算法練習六:判斷一個值是否在陣列中連續出現三次

很明顯只有第三個陣列符合要求。

這裡需要大家了解一個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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn