2016-04-22 9 views
1

Webサービスを使用してPHP配列$ resultを作成しましたが、javascriptとJSON.parseに渡されたときに何も起こりません。私はPHPとJSの配列を持つ初心者、多くのグーグルを行っているが、答えを見つけることができません。ヘルプを歓迎します!PHPからのJSONを使用したJSONの解析

まず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

関連するコードの一部: -

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> 

答えて

1

実際にあなたのコードが正しいと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

は、これをチェック: -

http://prntscr.com/avmcp3

+0

グレートヌルだった、これはうまくいきました、そして限り答えです私が心配しているように。 'hotels'配列内の1つのホテルの代わりに、いくつかのホテルがある場合、codigo [1]、estado [1]などを使用するのは正しいでしょうか? – Paul

+0

はい、あなたはそれのために行く必要があります。 –

+0

もう一度、ありがとう! – Paul

0

このビットがあります無意味なもの:

var result = JSON.parse('<?php echo json_encode($result) ?>'); 

JSONはすでに有効なjavascriptなので、NOは解析する必要があります。あなたがやらなければならないことは、直接コードブロックにそれをダンプです:

var result = <?php echo json_encode($result); ?>; 
+0

おかげで、私はこれを試してみましたが、結果はまだ – Paul

関連する問題