0

我得到了这些 Json 数据:

[{"category":"Pizza","name":"Beef Pronto","desc":"Description of Beef Pronton here","price":"12"},
 {"category":"Drink","name":"Cool Delight","desc":"Description of Coold Delight here","price":"5"},
 {"category":"Drink","name":"Cola","desc":"Description of Cola","price":"4"}
 ]

使用 Javascript,我已成功管理数据以呈现如下:

比萨

-Beef Pronto:这里对 Beef Pronto 的描述:12

-Cool Delight:Coold Delight 的描述:5

-可乐:可乐描述:4

任何想法如何用PHP做到这一点?

--> 好的,伙计们,这就是我使用 PHP 的方式:

<?
$listedmenuJSON = '[{"category":"Pizza","name":"Beef Pronto","desc":"Description of Beef Pronton here","price":"12"},
 {"category":"Drink","name":"Cool Delight","desc":"Description of Coold Delight here","price":"5"},
 {"category":"Drink","name":"Cola","desc":"Description of Cola","price":"4"}
 ]';

    $json_decoded = json_decode($listedmenuJSON);
    foreach ($json_decoded as $categoryvalue){
     //echo $categoryvalue->category."<br/>";
     $tempcategoryvalue[] = $categoryvalue->category;
     $arrunique = array_unique($tempcategoryvalue);
     }

    foreach ($arrunique as $tmpcategory){
    echo '<br/><b>'.$tmpcategory.'</b></br>';
     foreach ($json_decoded as $tempo){
      if($tempo->category == $tmpcategory){
       echo $tempo->name.'<br/>';
       echo '<i>'.$tempo->desc.'.......</i>';
       echo $tempo->price.'<br/>';
      }
     }

    }    
?>  

它将生成如下:

Pizza
Beef Pronto
这里是 Beef Pronto 的描述.......12


Cool Delight
这里是Coold Delight 的描述.......5
可乐 可乐
的描述............ 4

4

3 回答 3

0

如果您在 PHP 代码中有 json,请使用以下行将 json 转换为 PHP 数组并操作数组以获得所需的输出

$array = json_decode($json,TRUE);

在 javascript 用户下面的代码中,将您的 json 转换为数组。

var obj = jQuery.parseJSON(responce);
于 2012-07-11T08:31:41.343 回答
0

尝试使用 PHP 函数 'json_decode' ( http://php.net/manual/en/function.json-decode.php )。这将在 PHP 中创建一个关联数组。访问和操作其上的数据应该非常简单。

于 2012-07-11T08:32:45.073 回答
0

如果您使用 SQL 服务器,则可以使用“按类别分组”从表中选择

否则,您可以多次验证数组。

SQL:

<?php
$query = "SELECT * FROM 'table'
GROUP BY category
having (category=\"Pizza\");"


--SELECT * FROM 'table'
--GROUP BY category
--having (category="Drink");

如果你在 php 中使用它,你必须使用 sql_query("query")

于 2012-07-11T09:40:01.330 回答