json_encode数组的特定部分

时间:2014-01-09 12:25:50

标签: php arrays json echo

$array = array("Real" => array("Alonso","Zidan"),"Inter" => "Zanetti", "Roma" => "Toti");
$json=json_encode($array);
echo $json

通过这种方式我正在读取所有数据,但我怎样才能读取数据 只有RealInter

例如,如果是json_decoded,我可以这样做:

  1. Inter

    echo $array['Inter'];
    
  2. Real

    foreach($array["Real"] as $real){ 
        echo $real."<br>";
    }
    
  3. 我如何对json_encode()执行相同操作?

2 个答案:

答案 0 :(得分:2)

json_encode()返回一个字符串,因此在不解析字符串的情况下无法访问其部分。但你可以改为:

echo json_encode($array['Inter']);

答案 1 :(得分:0)

据我了解你的问题,你需要输出json`d对象。

<强>输入

$input = '{"Real":["Alonso","Zidan"],"Inter":"Zanetti","Roma":"Toti"}';

在php中

// Second true is for array return, not object)
$string = json_decode($input, true) 
echo $string['Inter'];

在Javascript中(jQuery):

var obj = jQuery.parseJSON(input);
if (obj != undefined) {
    echo obj['Inter'];
}

<强> UPD:

如果你需要在所有阵列中获得一个json,你需要遵循:

$array = array("Real" => array("Alonso","Zidan"),"Inter" => "Zanetti", "Roma" => "Toti");
foreach($array as $key => $value) {
    $array[$key] = json_encode($value);
}

在此代码之后,数组中的所有变量都将为json,并且您可以随时回显它们