Итак, привет, ребята,
давайте сделаем это очень ясно. В 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
И теперь я спрашиваю вас, как это возможно?
Спасибо
Похоже, вы извлекаете строку JSON в JavaScript (возможно, через AJAX?). Если вам нужно сделать это в фактическое значение массива, вы, вероятно, захотите использовать 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); ?>;
var myArray = <?= json_encode($myPhpArray); ?>;
Довольно просто. 😉
Пример:
<?php $myPhpArray = array('foo', 'bar', 'baz'); ?> <script type="text/javascript"> var myJsArray = <?= json_encode($myPhpArray); ?>; </script>
Если вывод (просмотр-источник):
<script type="javascript"> var myJsArray = ["foo","bar","baz"]; </script>
пример
Я рекомендую использовать 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>