PHPの空関数-連想配列

バラジペルマル

なぜこれが空でないリターンであるのか誰かが説明できますか?

<?php

$attributes=array("description"=>"","quantity"=>"","price"=>"","discount"=>"");

if(empty($attributes))
   echo 'empty';
else
    echo 'non empty';
exit;

?>
アマル・ムラリ

マニュアルドキュメントからempty()

変数が空であると見なされるかどうかを判別します。変数が存在しない場合、またはその値がFALSEに等しい場合、変数は空であると見なされます。empty()は、変数が存在しない場合、警告を生成しません。

この場合、変数$attributesが存在し、FALSEと等しくありません。したがって、empty()ブール値を返しFALSEます。

それらのそれぞれが空であるかどうかを確認し、メッセージをエコーするには:

foreach ($attributes as $key => $value) {
    if (empty($value)) {
        echo "'$key' is empty\n";
    }
}

すべての配列値が空かどうかを確認するには:

if(!array_filter($attributes)) {
    echo 'All values are empty';
}

配列値のいずれかが空であるかどうを確認するには、次のようにします。

if (array_search('', $attributes) !== FALSE) {
    echo 'One of the values in the array is empty';
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事