我是PHP新手。我有一个用PHP编写的简单API,它用JSON接收数据。我正在将JSON转换为PHP数组并解析它:
$obj = json_decode($json,true);
$demircap = $obj['demircap'];
$disuzun1 = $obj['disuzun1'];
$boy = $obj['boy'];
$demiradet = $obj['demiradet'];我想在这里定义一个新的空对象($disadet),并设置$demiradet对象的一个条件状态。如果它有一个特殊的字符串值,我想将我的新对象$disadet作为$demiradet的双值,例如If $disuzun1 == 'a',$disadet == $demiradet*2。
这是我的密码:
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){
$disadet == 2*$demiradet;
}else:
$disadet == $demiradet;如何使用PHP进行条件格式化?
谢谢。
发布于 2021-04-10 07:11:30
您有一些逻辑错误,问题是您的代码“编译”(如“在语法上是正确的”),但这肯定不是您想要做的。
==是一个比较运算符,您想要使用赋值运算符=:用于python代码块,在php中要使用大括号{ ... }来定义代码块(例如else代码块)。
所以你的代码是:
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){
$disadet = 2 * $demiradet;
} else {
$disadet = $demiradet;
}我会把它写成:
$disadet = $demiradet; // assign the default value (no else required)
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){
$disadet = 2 * $demiradet;
}或者,包括Ivan86的答案来做易于维护的“数组中”查找:
$disadet = $demiradet; // assign the default value (no else required)
if (in_array($disuzun1, ['a', 'b', 'c'])){
$disadet = 2 * $demiradet;
}发布于 2021-04-10 07:12:00
您可以像这样简化代码:
if (in_array($disuzun1, ['a', 'b', 'c'])) {
$disadet = 2*$demiradet;
} else {
$disadet = $demiradet;
}此外,当将值赋值给变量时,您应该使用赋值运算符=,而不是比较运算符==。
https://stackoverflow.com/questions/67031638
复制相似问题