在foreach中的if语句,该语句不适用

时间:2017-06-28 21:20:43

标签: php json if-statement foreach

我正在处理来自网址的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"}

谢谢。

3 个答案:

答案 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;}

这只是防止了分配变量的可能性,而是会导致:

  

语法错误,意外'='

更容易调试