首頁  >  文章  >  後端開發  >  php怎麼統計數組裡相同的資料類型

php怎麼統計數組裡相同的資料類型

PHPz
PHPz原創
2023-04-24 15:50:43452瀏覽

在PHP中,統計數組中相同資料類型的數量是一個非常常見的需求。例如,計算一個陣列中整數類型的元素的個數,或是統計數組中字串類型的元素出現的次數。本文將介紹PHP中實作統計數組相同資料類型的方法。

方法一:使用count和is_numeric函數

#首先,我們可以使用PHP內建的count函數來取得陣列長度,然後使用is_numeric函數判斷元素是否為數字型別。程式碼如下:

function countNumerics($arr) {
    $count = 0;
    foreach ($arr as $el) {
        if (is_numeric($el)) {
            $count++;
        }
    }
    return $count;
}

上述程式碼使用foreach迴圈遍歷數組中的每個元素,並使用is_numeric函數判斷元素是否為數字類型。如果是,則增加$count變數的值。最後,回傳$count變數即可。這個函數只能統計數字類型的元素數量,如果想統計其他類型的元素數量,就需要修改is_numeric函數為其他類型判斷函數。

方法二:使用array_filter和gettype函數

另一個方法是使用PHP中的array_filter函數和gettype函數。 array_filter函數可以用來過濾陣列中的元素,而gettype函數可以取得元素的類型。程式碼如下:

function countType($arr, $type) {
    return count(array_filter($arr, function ($el) use ($type) {
        return gettype($el) == $type;
    }));
}

上述程式碼先呼叫array_filter函數過濾出所有類型為$type的元素,然後用count函數取得過濾後的陣列長度即可。

方法三:使用array_reduce和gettype函數

還有一個方法是使用array_reduce函數和gettype函數。 array_reduce函數可以用來在陣列的所有元素上執行一個回調,將它們歸結為單一值。程式碼如下:

function countType($arr, $type) {
    return array_reduce($arr, function ($count, $el) use ($type) {
        return $count + (gettype($el) == $type);
    }, 0);
}

上述程式碼使用array_reduce函數遍歷陣列中的每個元素,如果該元素的類型為$type,則將$count變數加1。最後,回傳$count變數即可。

總結

以上是三個在PHP中統計數組相同資料型別的方法。這三個方法各有不同,選擇哪一種方法取決於具體的需求和程式碼風格。如果只需要計算一種資料類型的元素數量,方法一是一個簡單的解決方案。如果需要計算多種類型,或想要更清晰的程式碼結構,可以選擇方法二或方法三。

以上是php怎麼統計數組裡相同的資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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