将PHP数组解析为Javascript的最佳方法是什么?

时间:2015-04-28 10:49:14

标签: javascript php jquery arrays

我目前有一个访问MySQL数据库的PHP文件,并为每个播放器提取名称和分数,并将它们存储在一个数组中。     

 //This query grabs the top 10 scores, sorting by score and timestamp.
$query = "SELECT * FROM Score ORDER by score DESC, ts ASC LIMIT 10";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

//We find our number of rows
$result_length = mysql_num_rows($result); 

//And now iterate through our results
for($i = 0; $i < $result_length; $i++)
{
     $row = mysql_fetch_array($result);
     echo $row['name'] . "\t" . $row['score'] . "\n"; // And output them
}

从PHP文件中获取名称和分数并将其存储在Javascript数组中的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

存储它们的最佳方法是将它们存储在json中。使用以下功能

json_encode(arrayname);

并在html中使用

$.parsejson(responsevariable);

获得原始价值。

答案 1 :(得分:0)

我建议将json_encoded数组赋予javascript变量(json_encode()),并使用javascript json解码功能,这样你就可以得到你想要的东西:)

答案 2 :(得分:0)

创建结果变量

$results = array();

将结果存储在循环中

array_push($results, array("name" => $row["name"], "score" => $row["score"]));

最后以

返回
echo json_encode($results);

当您在前端获得响应时,您可以获取响应数据和JSON.parse()将其转换为您可以访问的变量

var results = JSON.parse(data);

results.forEach(function(result){
    console.log( result.name +" - "+ result.score );
});