我有三列数据来自一个表单。我的目标是,如果字段保留为空,则向每个条目添加小数位。例如,我有BMI、身高和体重。如果表单域保留为空,则BMI将有一个小数位,结果为0.0。对于权重,它将是0.00,依此类推。
下面是我现在处理BMI表单域的代码:
$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变为空白结果,并且数字格式仅应用于身高,就好像跳过了代码的该部分一样。
$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];
}
}发布于 2015-08-26 09:17:40
您有两个foreach循环,因此在第二个循环中,它会在运行以下命令时重置'bmi‘字段:
$biometrics[$column_name] = $bio[$column_name];您需要将两个循环合并为一个:
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];
}https://stackoverflow.com/questions/27928487
复制相似问题