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

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

от jakayla , в категории: PHP , 7 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от clement.erdman , 7 месяцев назад

@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 строка преобразуется обратно в массив для дальнейшей обработки.