PHP | must be of type Countable|array, string given エラーの原因と修正案

PHP,PHP エラー

PHPで発生するエラー「must be of type Countable|array, string given」が発生する原因と対処・修正案について紹介しています。

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, string given in ~
致命的なエラー:キャッチされないTypeError:count():引数#1($ value)は、Countable | 配列型である必要があり、文字列は次のように指定されます。

確認環境

エックスサーバー
PHP 8.016

must be of type Countable|array, string given エラーの発生原因と修正案

「must be of type Countable|array, string given」というPHPエラーはcount()関数で引数にCountableまたは配列以外の型の値を指定した際に発生するエラーです。

このエラーは致命的なエラー(Fatal error)に分類されています。

例えば、以下のようにcount()関数にCountable または配列以外の型を引数として渡したPHPコードを実行する場合に「must be of type Countable|array, string given」エラーは発生します。

count('abc');

このエラーを修正するには、引数に指定しているCountableまたは値が配列かどうか確認する必要があります。

また、PHP7.3以降ではis_countable()という関数が用意されています。

PHP,PHP エラー

Posted by Yousuke.U