Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中解码以下url_Php_Json - Fatal编程技术网

如何在php中解码以下url

如何在php中解码以下url,php,json,Php,Json,我试图解码以下网址,但我不能得到结果 {"main_cat":[{"main_cat_id":"1","main_cat_name":"Door"},{"main_cat_id":"2","main_cat_name":"Sunmica"}]} 我尝试了以下代码,请告诉我哪里做错了 <?php include("connect.php"); $response['main_cat'] = array(); $json = file_get_contents("ht

我试图解码以下网址,但我不能得到结果

{"main_cat":[{"main_cat_id":"1","main_cat_name":"Door"},{"main_cat_id":"2","main_cat_name":"Sunmica"}]}
我尝试了以下代码,请告诉我哪里做错了

<?php
    include("connect.php");
    $response['main_cat'] = array();
    $json = file_get_contents("http://localhost//Project/Fashion/select_main_cat.php");
    $dat["main_cat"] = json_decode($json);
    foreach ($dat["main_cat"] as $key->$val ) {
        ?>
    <td><?php
        echo $dat["main_cat"]->$key;

    ?></td>
    <?php
}
?>

错误:

解码

{"main_cat": [{"main_cat_id": "1", "main_cat_name": "Door"}, {"main_cat_id": "2", "main_cat_name": "Sunmica"}]}
会给你一个这样的东西

$dat = {
  main_cat:
    [
        {
           main_cat_id: 1
           main_cat_name: Door
        },
        {
           main_cat_id: 2
           main_cat_name: Sunmica
        }
    ]
}
所以你可以这样迭代:

$dat = json_decode($json);
foreach ($dat["main_cat"] as $key => $val ): ?>
    <td>
        <?php echo $val->main_cat_name; ?>
    </td>
<?php endforeach;?>
"main_cat":
    |
    |--("main_cat_id: 1", "main_cat_name: Door")
    |
    |--("main_cat_id: 2", "main_cat_name: Sunmica") 
$dat["main_cat"] = json_decode($json);
foreach ($dat["main_cat"]->main_cat as $cat ) {
    foreach ($cat as $key => $val) {
        ?><td><?php echo $key . ': ' . $val ?></td><?php
    }
}
$dat=json\u decode($json);
foreach($dat[“main_cat”]作为$key=>$val):?>

您收到的JSON字符串的结构如下:

$dat = json_decode($json);
foreach ($dat["main_cat"] as $key => $val ): ?>
    <td>
        <?php echo $val->main_cat_name; ?>
    </td>
<?php endforeach;?>
"main_cat":
    |
    |--("main_cat_id: 1", "main_cat_name: Door")
    |
    |--("main_cat_id: 2", "main_cat_name: Sunmica") 
$dat["main_cat"] = json_decode($json);
foreach ($dat["main_cat"]->main_cat as $cat ) {
    foreach ($cat as $key => $val) {
        ?><td><?php echo $key . ': ' . $val ?></td><?php
    }
}
因此,在这个JSON的顶部可以找到
“main_cat”
对象,它包含另外两个对象的数组

解析所有键及其相对值的代码如下所示:

$dat = json_decode($json);
foreach ($dat["main_cat"] as $key => $val ): ?>
    <td>
        <?php echo $val->main_cat_name; ?>
    </td>
<?php endforeach;?>
"main_cat":
    |
    |--("main_cat_id: 1", "main_cat_name: Door")
    |
    |--("main_cat_id: 2", "main_cat_name: Sunmica") 
$dat["main_cat"] = json_decode($json);
foreach ($dat["main_cat"]->main_cat as $cat ) {
    foreach ($cat as $key => $val) {
        ?><td><?php echo $key . ': ' . $val ?></td><?php
    }
}
$dat[“main_cat”]=json_decode($json);
foreach($dat[“main_cat”]->main_cat作为$cat){
foreach($cat as$key=>$val){

?>这是从url检索到的值吗?抱歉,我有点不清楚您是在尝试解码url还是从url返回的JSON。我是新手,正在学习JSON编码和解码。
foreach($dat[“main_cat”]as$key=>$val)
您是否收到任何错误?尊敬的,@War10ck..是的,我从url检索到了值,如上所述,我只是显示结果。。