【问题标题】:Test if any of the results in an array have a value in a particular node测试数组中的任何结果是否在特定节点中具有值
【发布时间】:2012-01-05 23:31:14
【问题描述】:

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

这应该返回 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。该用法适用于仅在有地址的结果时才会出现的元素。

【问题讨论】:

  • 谢谢蒂姆。由于某种原因,代码缩进没有被占用。
  • 所以如果任何数组有一个非空的'address',那么函数应该返回true,否则返回false。我理解正确吗?
  • 这应该是相当微不足道的。我可以理解不知道该怎么做,但是您尝试了什么?

标签: php arrays testing


【解决方案1】:
function hasAtLeastOneAddress($arr)
{
    foreach($arr as $subarr)
    {
        if($subarr['address'] != '')
        {
            return true;
        }
    }
    return false;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2013-12-20
    • 1970-01-01
    • 2023-03-12
    • 2022-10-26
    • 1970-01-01
    • 2018-06-15
    相关资源
    最近更新 更多