首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中有条件地分配对象?

如何在PHP中有条件地分配对象?
EN

Stack Overflow用户
提问于 2021-04-10 07:00:21
回答 2查看 124关注 0票数 0

我是PHP新手。我有一个用PHP编写的简单API,它用JSON接收数据。我正在将JSON转换为PHP数组并解析它:

代码语言:javascript
运行
复制
$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

这是我的密码:

代码语言:javascript
运行
复制
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){
    $disadet == 2*$demiradet;
}else:
    $disadet == $demiradet;

如何使用PHP进行条件格式化?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-10 07:11:30

您有一些逻辑错误,问题是您的代码“编译”(如“在语法上是正确的”),但这肯定不是您想要做的。

  • ==是一个比较运算符,您想要使用赋值运算符=
  • :用于python代码块,在php中要使用大括号{ ... }来定义代码块(例如else代码块)

所以你的代码是:

代码语言:javascript
运行
复制
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){ 
    $disadet = 2 * $demiradet;
} else {
    $disadet = $demiradet;
}

我会把它写成:

代码语言:javascript
运行
复制
$disadet = $demiradet; // assign the default value (no else required)
if ($disuzun1 == 'a' || $disuzun1 == 'b' || $disuzun1 == 'c'){ 
    $disadet = 2 * $demiradet;
}

或者,包括Ivan86的答案来做易于维护的“数组中”查找:

代码语言:javascript
运行
复制
$disadet = $demiradet; // assign the default value (no else required)
if (in_array($disuzun1, ['a', 'b', 'c'])){ 
    $disadet = 2 * $demiradet;
}
票数 2
EN

Stack Overflow用户

发布于 2021-04-10 07:12:00

您可以像这样简化代码:

代码语言:javascript
运行
复制
if (in_array($disuzun1, ['a', 'b', 'c'])) {
    $disadet = 2*$demiradet;
} else {
    $disadet = $demiradet;
}

此外,当将值赋值给变量时,您应该使用赋值运算符=,而不是比较运算符==

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67031638

复制
相关文章

相似问题

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