我已经将从PHP函数返回的xml对象转换为json格式,将其发送到js文件中.
function searchResults($q) { ... $xml = simplexml_load_string($result); return json_encode($xml); }
我在js中收到/使用它
var msg_top = "<"+"?PHP echo searchResults('windows');"+"?"+">";
然后我在PHP&中收到它解码.
$json = $_POST['msg_top']; $msg = json_decode($json);
现在我如何遍历它以获取我可以从xml对象(我转换为json)获得的某些属性的所有值.这是我遍历xml对象以获取其某些属性的所有值的方法:
foreach ($xml->entry as $status) { echo $status->author->name.''.$status->content); }
如何从解码的json对象$msg中获取所有这些值?
EDITED
我尝试使用相同的HTML,我使用js来接收&通过ajax POST PHP搜索功能数据,我尝试使用以下代码在PHP中循环浏览json.但它没有显示任何东西.
$obj = searchResults(testword);//serach function returns json encoded data $obj = json_decode($obj,true); $count = count($obj); for($i=0;$i<$count;$i++) { echo $obj[$i][content];}// using xml for it,I get ouput like foreach ($xml3->entry as // $status) {status->content}
默认情况下,json_decode返回stdClass. stdClass-es可以与使用foreach的关联数组一样使用.
或者,您可以要求json_decode返回一个关联数组:
$array = json_decode($_POST['foo'],TRUE);