PHP 5.3 の empty() 関数は、連想配列に対してうまく機能しません。30 個以上の要素を持つ連想配列があります。
$arr = array(
'one'=>kwara,
'two'=>osun,
...
'thirty'=>lagos
)
連想配列が次のように空の場合:
$arr = array(
'one'=>'',
'two'=>'',
...
'thirty'=>''
)
配列が空かどうかを確認する必要があります。以下はphp 5.3では機能しません。
if(empty($arr))
{
echo "array is empty<br />>";
}
else
{
echo "array is NOT empty<br />";
}
「配列は空ではありません」を返します。PHP 5.4では動作が異なることは認識していますが、現在のプラットフォームは php 5.3 です。
この問題を克服するために、私は以下を使用しました。
if(strlen(implode('',array_values($arr))) > 0)
{
echo "array is NOT empty<br />>";
}
else
{
echo "array is empty<br />";
}
問題は、php 5.3でこれを達成するより良い方法はありますか?