我是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
对象的条件状态。如果它有一个特殊的String值,我想给我的新对象$disadet
作为$demiradet
的双值,这样如果$disuzun1 == 'a'
,$disadet == $demiradet*2
。
这是我的代码:
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){
$disadet == 2*$demiradet;
}else:
$disadet == $demiradet;
如何使用PHP进行条件格式化?
谢谢。
您有一些逻辑错误,问题是您的代码"编译";如在";在语法上是正确的";但这肯定不是你想要做的。
==
是一个比较运算符,您希望使用赋值运算符=
:
用于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;
}
您可以这样简化代码:
if (in_array($disuzun1, ['a', 'b', 'c'])) {
$disadet = 2*$demiradet;
} else {
$disadet = $demiradet;
}
此外,在为变量赋值时,应使用赋值运算符=
,而不是比较运算符==
。