PHP的基本JSON

时间:2012-05-03 01:01:57

标签: php json

我在PHP中有一些这样的数据:

NumberOfPeople.php
<?php
$numberOfPeople = 5;
?>

如何将该变量转换为JSON对象,然后将其输出到HTML文件中。

这样的事情:

RandomHTMLFile.html
<script type="text/javascript">
  var NumberOfPeople = JSON VARIABLE FROM THE PHP FILE
</script>

这是JSON适用的类型吗?

请注意,输出文件位于HTML文件中而不是PHP文件中,因此必须完全基于Javascript。

此外,HTML文件将与PHP文件位于不同的服务器上。

5 个答案:

答案 0 :(得分:3)

将其更改为PHP数组并使用json_encode()函数

$jsonArray = array('numberOfPeople' => 5); //Now the value will be accessible under `numberOfPeople` json index
$json = json_encode($jsonArray);
echo $json;

答案 1 :(得分:1)

json_encode是您需要的主要内容。请注意UTF-8编码要求。如果需要,请使用utf8_encode

答案 2 :(得分:0)

要从静态html页面访问服务器端生成的json输出,您可以使用jquery的内置$.getJSON函数。

RandomHTMLFile.html
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" />
<script type="text/javascript">
  var NumberOfPeople;
  $.getJSON('NumberOfPeople.php',{},function(response){ 
     NumberOfPeople = response;
  });
</script>

并且在服务器端你需要使用php的json_encode函数将变量转换为json:

NumberOfPeople.php
<?php
$numberOfPeople = 5;
echo json_encode($numberOfPeople);
?>

当然,您可以考虑使用预先计算的变量生成html页面。可以使用php输出html并将其作为像静态html页面一样请求它。您可能希望了解mod_rewrite以实现此目的。

答案 3 :(得分:0)

将标题设置为json,然后使用javascript获取它。

header("Content-type: application/json");

答案 4 :(得分:0)

<强> NumberOfPeople.php

<?php
$data['NumberOfPeople'] = 5;
echo json_encode($data);
?>

<强> RandomHTMLFile.html

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" />
    <script type="text/javascript">
      var NumberOfPeople;
      $.getJSON('NumberOfPeople.php',function(data){ 
         var NumberOfPeople = data.NumberOfPeople;
      });
    </script>