我使用网络服务创建 PHP 数组 $result,但是当传递给 javascript 和 JSON.parse 时,没有任何结果。我是 php 和 JS 数组的新手,已经做了很多谷歌搜索,但找不到答案。欢迎帮助!
首先是浏览器中的输出,其中打印出 PHP 数组,但 javascript 不输出任何内容:-
1) Results of PHP array print Array ( [hotels] => Array ( [codigo] => LIMHBM [fecha] => 2016/9/15 [cannoc] => 1 [canhab] => 1 [canpax] => 2 [estado] => OK ) ) 2) Results of JSON parse: none
The relevant code part:-
1) Results of PHP array print
<pre><?php print_r($result); ?></pre>
2) Results of JSON parse:
<span id="demo">none</span>
<script type="text/javascript">
var result = JSON.parse( '<?php echo json_encode($result) ?>' );
document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado;
</script>
最佳答案
实际上你的代码直到最后一行 javascript 代码都是正确的,即:-
document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado;
将其更改为:-
document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado;
示例:-
<?php
$result = Array
(
'hotels' => Array
(
'codigo' => 'LIMHBM',
'fecha' => '2016/9/15',
'cannoc' => 1,
'canhab' => 1,
'canpax' => 2,
'estado' => 'OK'
)
);
?>
1) Results of PHP array print
<?php echo "<pre/>";print_r($result); ?>
2) Results of JSON parse:
<span id="demo">none</span>
<script type="text/javascript">
var result = JSON.parse('<?php echo json_encode($result) ?>');
console.log(result); // to just show you te output in console
document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado;
</script>
输出:- http://prntscr.com/avm729
有关多维数组的帮助,请检查:-
关于javascript - 使用 PHP 中的 JSON 进行 JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36803287/