【问题标题】:Question on arguments inside PHP foreach statement [duplicate]PHP foreach 语句中的参数问题[重复]
【发布时间】:2021-05-04 16:29:51
【问题描述】:

我有以下代码。但我无法理解$seat_key => $seat 中的foreach 是什么意思。换句话说,我理解foreach ($seats as $seat),但不理解foreach ($seats as $seat_key => $seat)

foreach ($seats as $seat_key => $seat) {

    $email_found = false;

    foreach ($email_accounts as $key => $email_account) {

        if (strtolower($email_account->email) == strtolower($seat->email) && empty($email_account->deactivated_since) && empty($email_account->flg_deleted)) {
            unset($seats[$seat_key]);
            unset($email_accounts[$key]);
            $email_found = true;

            if (isset($email_found_seats[$seat->email])) {
                $email_duplicated_seats[] = $seat;
            } else {
                $email_found_seats[$seat->email] = $seat;
            }
        }
    }
}

【问题讨论】:

标签: php


【解决方案1】:

foreach 以这种方式使用时,将允许您在枚举数组或对象时同时获取项目的 keyvalue。 p>

在例子的情况下,语句是:

foreach ($seats as $seat_key => $seat)

这意味着对于每个枚举项,该项的key将存储在$seat_key,而该项的value将存储在$seat .

PHP manual 对此有很好的详细解释,但手册中的函数声明显示为:

foreach (iterable_expression as $key => $value)
    statement

【讨论】:

    猜你喜欢
    • 2017-04-21
    • 2011-08-01
    • 1970-01-01
    • 2012-11-05
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多