配列内の結果のいずれかが特定のノードに値を持つかどうかをテストする

ここで私が対処している楽しい問題があります。私は多次元配列を持っています:

これはtrueを返すはずです

array(
    array('id' = > 23, 'address' => '123 Grove Street, Toronto'),
    array('id' = > 24, 'address' => ''),
    array('id' = > 25, 'address' => ''),
    array('id' = > 26, 'address' => '123 Grove Street, Toronto')
)

これはfalseを返します。

array(
    array('id' = > 23, 'address' => ''),
    array('id' = > 24, 'address' => ''),
    array('id' = > 25, 'address' => ''),
    array('id' = > 26, 'address' => '')
)

上記の配列をテストして、結果のANYにアドレスフィールドの値があるかどうかを確認したいと思います。したがって、最初の例はTRUEを返しますが、それ以下ではfalseを返します。使用法は、アドレスを含む結果がある場合にのみ表示される要素に対するものです。

0
したがって、配列のいずれかに空でない 'address' がある場合、関数はtrueを返し、そうでない場合はfalseを返します。私は正しく理解していますか?
追加された 著者 Trott,
これはかなり簡単です。どうやってやるのか分からないけど、何を試しましたか?
追加された 著者 Godwin,
ありがとうTim。何らかの理由でコードインデントが取られていませんでした。
追加された 著者 stueynet,

1 答え

function hasAtLeastOneAddress($arr)
{
    foreach($arr as $subarr)
    {
        if($subarr['address'] != '')
        {
            return true;
        }
    }
    return false;
}
4
追加された
ありがとう、Tim。驚くばかり。
追加された 著者 stueynet,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com