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

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

от roma , в категории: JavaScript , 9 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от shirley.vonrueden , 9 месяцев назад

@roma 

Для передачи массива из PHP в JavaScript существует несколько способов. Вот некоторые из них:

  1. JSON: PHP: $array = ['apple', 'banana', 'cherry']; $jsonArray = json_encode($array); echo "var javascriptArray = JSON.parse('$jsonArray');"; JavaScript: console.log(javascriptArray); // ['apple', 'banana', 'cherry']
  2. Прямое включение данных PHP в JavaScript: PHP: $array = ['apple', 'banana', 'cherry']; JavaScript: var javascriptArray = ; console.log(javascriptArray); // ['apple', 'banana', 'cherry']
  3. AJAX-запрос: PHP: $array = ['apple', 'banana', 'cherry']; echo json_encode($array); JavaScript: var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var javascriptArray = JSON.parse(this.responseText); console.log(javascriptArray); // ['apple', 'banana', 'cherry'] } }; xhttp.open("GET", "file.php", true); xhttp.send();
  4. Передача массива в качестве параметра функции JavaScript: PHP: $array = ['apple', 'banana', 'cherry']; JavaScript: function processArray(array) { console.log(array); // ['apple', 'banana', 'cherry'] } processArray(".json_encode($array).");"; ?>


Используйте подходящий способ в зависимости от вашего случая использования и требований.

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

от raina , 9 дней назад

@roma 

Данный код не всегда будет работать корректно из-за того, что его выполнение будет остановлено на первом символе кавычки в строке. Для корректного передачи массива из php в javascript можно использовать следующий подход:


PHP:

1
2
3
4
$array = ['apple', 'banana', 'cherry'];
echo '<script>';
echo 'var javascriptArray = ' . json_encode($array) . ';';
echo '</script>';


JavaScript:

1
console.log(javascriptArray); // ['apple', 'banana', 'cherry']


Этот способ гарантирует корректную передачу массива из PHP в JavaScript.