配列に複数の要素があるかどうかを確認するだけです。私はそれをこのようにしようとしています:
if (isset($arr['1']))
他の伝統的な方法は
if (sizeof($arr)>1)
どちらが良いですか?そのような状況では、2つの代替方法をどのように判断すればよいですか?どちらが優れているかを測定するために使用できるパフォーマンスチェックメーターはありますか?
配列に複数の要素があるかどうかを確認するだけです。私はそれをこのようにしようとしています:
if (isset($arr['1']))
他の伝統的な方法は
if (sizeof($arr)>1)
どちらが良いですか?そのような状況では、2つの代替方法をどのように判断すればよいですか?どちらが優れているかを測定するために使用できるパフォーマンスチェックメーターはありますか?
回答:
これを使って
if (sizeof($arr) > 1) {
....
}
または
if (count($arr) > 1) {
....
}
sizeof()
のエイリアスですcount()
。これらは同じように機能します。
編集:
質問の2番目の部分に答える:質問の2行のコードは代替方法ではなく、異なる機能を実行します。1つ目はatの値$arr['1']
が設定されているかどうかをチェックし、2つ目は配列の要素数を返します。
if (sizeof($arr))
、これは次のように変換されます。if (sizeof($arr) == 1)
明らかに、配列に複数の要素があるかどうかはチェックされません。この答えは正解であり、私は反対票を投じる理由がないので、私は反対票を投じます。
if(is_array($arr) && count($arr) > 1)
$ arrが本当に配列であることを確認するだけです。
sizeof
のエイリアスですcount
。私はcountを使用することを好みます。
$arr
文字列の場合はを返し1
ます。
if (count($arr) >= 2)
{
// array has at least 2 elements
}
sizeof()
のエイリアスですcount()
。どちらも非配列でも機能しますが、引数が配列またはCountable
オブジェクトのいずれかである場合にのみ1より大きい値を返すため、これでかなり安全です。
私が好むcount()
機能を代わりのsizeOf()
ようsizeOf()
にエイリアスのみでcount()
、他の多くの言語で同じことを意味するものではありません。多くのプログラマはsizeof()
、割り当てられたメモリの量を返すことを期待しています。
sizeof
対count