如果条件,$ _GET值不起作用

时间:2014-06-02 05:27:52

标签: php json get

我正在解析json数据,其中id用作解析数据的条件,但它在if条件中不起作用

 <?php

    if(isset( $_GET['id']) && isset($_GET['city']))
{
    $id=$_GET['id'];
    $city=$_GET['city'];

}

    $json = file_get_contents('../jsonfile/cities/'.$city.'.json')/deals.json?tsToken=US_AFF_0_201590_221707_0
    $json_string = json_decode($json);


    foreach($json_string->deals as $mydata)

    {

    if($mydata->id == $id) //does not work 
            {
            foreach($mydata->options[0]->details as $option)
            { 
                 echo  $option->description;
        }

$ id是echo很好,但它在if条件下不起作用请帮帮我.....:)

2 个答案:

答案 0 :(得分:0)

//试试这个

$json = file_get_contents($url);
$data = json_decode($json, TRUE);

$a = '{"a":1,"b":"test String"}';
$b = json_decode($a,true);
print_r($b);

使用json_decode传递时返回true,返回一个数组,你可以利用它进行比较。

答案 1 :(得分:0)

如果$ json_string-&gt; Deals是一个数组,您可以尝试将if条件更改为:if($ mydata [&#39; id&#39;] == $ id)。

虽然json_decode将一个对象作为容器返回,但并不是所有内容都必须是对象类型。