8

phpではjson_encode(...)、Javascriptで値を使用して取得しましたが、次のようになります。

["float","float","float","float"]  // PS: This is a string...

そして、これを通常のjavascript配列にしたいと思います。

Arr[0] // Will be float
Arr[1] // Will be float
Arr[2] // Will be float
Arr[3] // Will be float

これはどのように可能ですか?

4

3 に答える 3

23

JavaScript で (おそらく AJAX 経由で) JSON 文字列を取得しているようです。これを実際の配列値にする必要がある場合は、おそらくJSON.parse().

var retrievedJSON = '["float","float","float","float"]'; // normally from AJAX
var myArray = JSON.parse(retrievedJSON);

AJAX を使用するのではなく、実際に値をページに書き出す場合は、json_encode引用符を付けずに直接出力を単純にエコーできるはずです。JSON 自体は有効な JavaScript です。

var myArray = <?php echo json_encode($myPhpArray); ?>;
于 2012-12-21T17:52:52.677 に答える
7
var myArray = <?= json_encode($myPhpArray); ?>;

ものすごく単純。;-)

例:

<?php
  $myPhpArray = array('foo', 'bar', 'baz');
?>
<script type="text/javascript">
  var myJsArray = <?= json_encode($myPhpArray); ?>;
</script>

出力する必要があります(view-source):

<script type="javascript">
  var myJsArray = ["foo","bar","baz"];
</script>

于 2012-12-21T17:50:57.337 に答える
2

jqueryの使用をお勧めします。phpファイルは次のようになります...

//location.php
<?php
$change = array('key1' => $var1, 'key2' => $var2, 'key3' => $var3);
echo json_encode($change);
?>

それからjqueryスクリプト...

<script>
$.get("location.php", function(data){
var duce = jQuery.parseJSON(data);
var art1 = duce.key1;
var art2 = duce.key2;
var art3 = duce.key3;
});
</script>
于 2014-01-29T09:14:08.743 に答える