测试数组中的任何结果是否在特定节点中具有值


Test if any of the results in an array have a value in a particular node

这是我正在努力解决的一个有趣的问题。我有一个多维数组:

这应该返回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' => '')
)

我想测试上面的数组,看看是否有任何结果在地址字段中有值。因此,第一个示例将返回TRUE,但下面的示例将返回false。这种用法用于只在有地址的结果时才出现的元素。

function hasAtLeastOneAddress($arr)
{
    foreach($arr as $subarr)
    {
        if($subarr['address'] != '')
        {
            return true;
        }
    }
    return false;
}
相关文章: