Как из php передать массив в javascript?

Пользователь

от jakayla , в категории: PHP , год назад

Как из php передать массив в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clement.erdman , год назад

@jakayla 

Есть несколько способов передачи массива из PHP в JavaScript.

  1. Используя функцию json_encode() в PHP для преобразования массива в JSON строку, а затем передать её в JavaScript через атрибут data-* HTML элемента.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
$arr = array('apple', 'banana', 'orange');
$json_arr = json_encode($arr);
?>

<div id="content" data-array="<?php echo $json_arr; ?>"></div>

<script>
    var arrayFromPHP = JSON.parse(document.getElementById('content').getAttribute('data-array'));
    console.log(arrayFromPHP);
</script>


  1. Используя json_encode() в PHP для преобразования массива в JSON строку и передачу её в JavaScript переменную внутри тега
1
2
3
4
5
6
7
8
9
<?php
$arr = array('apple', 'banana', 'orange');
$json_arr = json_encode($arr);
?>

<script>
    var arrayFromPHP = <?php echo $json_arr; ?>;
    console.log(arrayFromPHP);
</script>


  1. Встроить PHP массив внутри JavaScript кода.
1
2
3
4
5
6
7
8
<?php
$arr = array('apple', 'banana', 'orange');
?>

<script>
    var arrayFromPHP = <?php echo json_encode($arr); ?>;
    console.log(arrayFromPHP);
</script>


Во всех трех примерах, json_encode() используется для преобразования массива в JSON формат, который может быть легко передан и используем в JavaScript. Затем в JavaScript с помощью JSON.parse() или в PHP с помощью json_decode() JSON строка преобразуется обратно в массив для дальнейшей обработки.

Пользователь

от marisa , 6 месяцев назад

@jakayla 

Дополнительно, можно также использовать метод AJAX для передачи массива из PHP в JavaScript. Например, с помощью jQuery можно отправить запрос на сервер, где PHP скрипт возвращает массив, который затем обрабатывается в JavaScript.


Пример:


PHP скрипт (data.php):

1
2
3
4
<?php
$arr = array('apple', 'banana', 'orange');
echo json_encode($arr);
?>


JavaScript с использованием jQuery:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$.ajax({
    url: 'data.php',
    type: 'GET',
    success: function(response) {
        var arrayFromPHP = JSON.parse(response);
        console.log(arrayFromPHP);
    },
    error: function() {
        console.log('Error fetching data');
    }
});


Этот пример отправляет AJAX запрос на data.php, который возвращает массив в формате JSON, который затем обрабатывается в JavaScript.