首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有if语句的foreach循环中的number_format

带有if语句的foreach循环中的number_format
EN

Stack Overflow用户
提问于 2015-01-14 02:00:11
回答 1查看 128关注 0票数 0

我有三列数据来自一个表单。我的目标是,如果字段保留为空,则向每个条目添加小数位。例如,我有BMI、身高和体重。如果表单域保留为空,则BMI将有一个小数位,结果为0.0。对于权重,它将是0.00,依此类推。

下面是我现在处理BMI表单域的代码:

代码语言:javascript
复制
$return['is_spouse'] = ($return['is_spouse'] == 1) ? 'Yes' : 'No';
    if($biometric_data) {
        foreach(self::$biometric_fields as $column_name) {
            if($column_name == 'bmi') {
                $biometrics[$column_name] = number_format($bio[$column_name], 1);
                continue;
            }
            $biometrics[$column_name] = $bio[$column_name];
        }
    }

当尝试将身高或体重部分添加到代码中时,BMI变为空白结果,并且数字格式仅应用于身高,就好像跳过了代码的该部分一样。

代码语言:javascript
复制
$return['is_spouse'] = ($return['is_spouse'] == 1) ? 'Yes' : 'No';
    if($biometric_data) {
        foreach(self::$biometric_fields as $column_name) {
            if($column_name == 'bmi') {
                $biometrics[$column_name] = number_format($bio[$column_name], 1);
                continue;
            }
            $biometrics[$column_name] = $bio[$column_name];
        }
    }

    $return['is_spouse'] = ($return['is_spouse'] == 2) ;
    if($biometric_data) {
        foreach(self::$biometric_fields as $column_name) {
            if($column_name == 'height') {
                $biometrics[$column_name] = number_format($bio[$column_name], 2);
                continue;
            }
            $biometrics[$column_name] = $bio[$column_name];
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2015-08-26 09:17:40

您有两个foreach循环,因此在第二个循环中,它会在运行以下命令时重置'bmi‘字段:

代码语言:javascript
复制
$biometrics[$column_name] = $bio[$column_name];

您需要将两个循环合并为一个:

代码语言:javascript
复制
foreach(self::$biometric_fields as $column_name) {
        if($column_name == 'height') {
            $biometrics[$column_name] = number_format($bio[$column_name], 2);
            continue;
        } else if($column_name == 'bmi') {
            $biometrics[$column_name] = number_format($bio[$column_name], 1);
            continue;
        }
        $biometrics[$column_name] = $bio[$column_name];
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27928487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档