我正在处理来自网址的json并显示一些数据。问题是我只想显示两个具有特定ID的帐户,但是当我执行以下代码时,它会回显每个帐户的名称,而不是选择我在if语句中选择的帐户。
foreach ($data as $row) {
$id = $row->id;
$account = $row->account;
$time = date("Y-m-d H:i:s");
if ($id = 100) {echo $account;}
elseif ($id = 120) {echo $account;}
else {}
}
Json就像
{"id":120,"Name":"Companytest"},
{"id":121,"Name":"BensonTillis"},
{"id":123,"Name":"JSBrothers"}
谢谢。
答案 0 :(得分:3)
您需要在if语句中使用==而不是=。
当您比较需要使用的数字时," =="因为它是比较运算符之一http://php.net/manual/en/language.operators.comparison.php
单身" ="是一个assigment运算符,并将$ id设置为右侧的值。 http://php.net/manual/en/language.operators.assignment.php
答案 1 :(得分:0)
你应该在你的' if'中使用双等于==而不是单=。条件
答案 2 :(得分:0)
这是因为您实际上将$id
分配给=
到100
,
要解决此问题,只需在=
语句中添加第二个if
,如下所示:
if ($id == 100) {echo $account;}
另外。我学会了做if
语句,如:
if (100 == $id) {echo $account;}
这只是防止了分配变量的可能性,而是会导致:
语法错误,意外'='
更容易调试