【问题标题】:How to use foreach to return true/false如何使用 foreach 返回真/假
【发布时间】:2014-05-14 15:23:31
【问题描述】:

如何使用 foreach 来返回 true 或 false。

例如,这不起作用。

function checkArray($myArray) {
    foreach( $myArray as $key=>$value ) {
       if(!$value == $condition) {
          return false;
       }
       else {
          return true;
       }
}

if ($checkArray == true) {
// do something
}

将 foreach 用作真/假函数的正确语法是什么?如果你做不到,你可以用它来改变一个现有的变量为真/假吗?

【问题讨论】:

  • if (checkArray($array) == true) {if (checkArray($array)) {
  • 还没有定义$condition...
  • 像您一样在循环内执行返回只会在第一次迭代时终止循环...

标签: php


【解决方案1】:

如果找到元素/条件为真,您将返回 true。并且循环之后返回false - 如果找到它,就不会到达此语句。

function checkArray($myArray) {
    foreach($myArray as $key => $value) {
        if ($value == $condition) {
            return true;
        }
    }
    return false;
}

if (checkArray($array) === true) {
    // ...
}

当然,truefalse 可以互换,具体取决于您期望的输出。

【讨论】:

    【解决方案2】:

    如果您只是想找到一个可以使用的值

    if (in_array($lookup, $arrayToSearch)) { }
    

    这会比枚举整个数组更有效率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-14
      • 2016-05-10
      • 1970-01-01
      • 2014-09-07
      • 2012-07-17
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多