我有这个代码php
$query2 = "SELECT * FROM hosts where cod='$stream'";
$result2=mysql_query($query2);
while ($row2=mysql_fetch_array($result2))
{
$audio=$row2['audio'];
$def=$row2['def'];
$hosty=$row2['host'];
}
我如何以这种格式将结果发送给json:
var sources = {"english":{"360":["bayfiles","filebox","zalaa","cramit"],"720":["cramit","180upload"]},"portugues":{"1080p":["zalaa","cramit"],"720":["cramit","180upload"]}}
可能吗?
由于
答案 0 :(得分:2)
如果要创建一个输出数组,所有查询都应使用辅助数组,以获取每一行。
$arrayAux=array();
$query2 = "SELECT * FROM hosts where cod='$stream'";
$result2=mysql_query($query2);
while ($row2=mysql_fetch_array($result2,MYSQL_ASSOC))
{
$audio=$row2['audio'];
$def=$row2['def'];
$hosty=$row2['host'];
push_array(array("audio"=>$audio,"def"=>$def,"host"=>$hosty));
}
print(json_encode($arrayAux));
PS:我不明白你是想删除所有查询还是仅应用于一个查询。 如果它只有一个:
print (json_encode (mysql_fetch_array ($ query2,
MYSQL_ASSOC)));
答案 1 :(得分:1)
您可以使用PHP函数json_encode()并将其传递到与您想要的格式匹配的数组中。
答案 2 :(得分:0)
echo json_encode($arr);
答案 3 :(得分:0)
是的,这可以通过使用PHP的json_encode()
函数来实现。
json_encode - 返回值
的JSON表示
但是,为了获得多维对象,您可能必须执行更多查询或者可能迭代从第一个查询获得的某些值。然后,您将在多维PHP数组中构建数据,并在整个对象上执行json_encode()
函数。
$arr = array(
'a' => 1,
'b' => 2,
'c' => array(
'd'=>3,
'e'=>4
)
);
echo json_encode($arr);
{
"a":1,
"b":2,
"c":{ 'd':3,"e":4}
}