【问题标题】:How to check if it is the first time a value is found in if statement inside a foreach iteration如何检查是否是第一次在foreach迭代中的if语句中找到值
【发布时间】:2020-01-09 07:37:20
【问题描述】:

假设我有一个数组。

$array1 = array('John','Mike','Tim','Dan');

使用foreach 迭代,我循环通过$array1,执行返回truefalse 的数据库查询,所以我有:

foreach ($array1 as $key => $value) {
    $dbQueryResult = true; // or false depending on iteration
    if($dbQueryResult === true){
        // HOW DO I CHECK IF IT IS THE FIRST TIME I'M GETTING HERE
    }
}

我如何检查这是否是我第一次在foreach 迭代中的if 语句中获得预期结果,如上例所示?

【问题讨论】:

    标签: php arrays if-statement foreach conditional-statements


    【解决方案1】:

    使用变量来保存该信息

    $firstTime = true;
    
    foreach ($array1 as $key => $value) {
        $dbQueryResult = true; // or false depending on iteration
        if($dbQueryResult === true){
            // HOW DO I CHECK IF IT IS THE FIRST TIME I'M GETTING HERE
            if ( $firstTime ) {
                // do first time stuff
    
                $firstTime = FALSE;
            }
    
        }
    }
    

    【讨论】:

    • 奇怪的是,更早的、更合乎逻辑的答案没有得到支持。请允许我修复。
    • @Nick :) 可能是因为在它的第一次迭代中它不太合乎逻辑。当我把它读给自己听时,我把它变得更合乎逻辑。感谢您的投票
    • 无论哪种方式,以目前的形式(至少在我看来)更合乎逻辑,因此应该获得相同的选票。
    • 这个答案更好。不知怎的,我认为我的逻辑是合乎逻辑的,但我越看越觉得我的大脑有点乱,哈哈。所以这应该是更受欢迎的。
    猜你喜欢
    • 2020-06-13
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    相关资源
    最近更新 更多