1

配列に要素が1つしかない場合、カウント結果は1になります。配列がカウントできない場合、結果も1になります。では、それが1つの要素であるか、カウントできないかを知るにはどうすればよいですか。 php menueの編集 :varが配列またはCountableインターフェースが実装されたオブジェクトでない場合、1が返されます。

4

3 に答える 3

1

PHPマニュアルから:http ://www.php.net/manual/en/function.count.php

varの要素数を返します。varが配列またはCountableインターフェースが実装されたオブジェクトでない場合、1が返されます。例外が1つあります。varがNULLの場合、0が返されます。

あなたはこれを試すことができます、

if (!method_exists($someVar, 'count') && !(is_array($someVar))) {
    echo 'cannot count';
}
else {
    echo count($someVar);
}

これは、配列、オブジェクト、および単純な変数で機能するはずです。

于 2012-07-31T09:21:00.317 に答える
0

is_array関数を使用して、変数が配列か他のものかを確認できます。

is_array($array)
于 2012-07-31T09:12:06.063 に答える
0

「数えられない」とは、「配列/オブジェクトではない」という意味ですか?

その場合、phps is_array()およびis_object()を使用してテストします。http://php.net/manual/en/function.is-array.phpを参照してください

可算パターンを実装しない特別に細工された配列またはオブジェクトを参照する場合、通常はその理由があります。ほとんどの場合、その構造内の要素を数えることは意味がありません。その場合、最初にmethod_exists($ your_obj、'count')を使用して配列がカウント可能かどうかを確認します。

于 2012-07-31T09:11:48.863 に答える