Преобразование php-массива в Javascript
Если у вас нет PHP 5.2, вы можете использовать что-то вроде этого:
Ответ 2
Я собираюсь предположить, что два массива, которые вы указали для PHP и JS, не связаны, и это просто примеры того, как массивы выглядят на двух языках. Очевидно, что вы не сможете конвертировать эти последовательности букв и цифр в эти названия городов.
PHP предоставляет функцию преобразования массивов PHP в код Javascript: json_encode() . (технически, это формат JSON, JSON обозначает обозначение объекта JavaScript)
Используйте его следующим образом:
Дополнительную информацию см. также на странице руководства, приведенной выше.
Обратите внимание, что json_encode() доступен только в PHP 5.2 и выше, поэтому, если вы используете более старую версию, вам нужно будет использовать существующую один — страница руководства PHP также содержит комментарии с функциями, написанными людьми, которые в ней нуждались. (но при этом, если вы используете что-то старше PHP 5.2, вам следует обновить ASAP)
Ответ 3
Немой и простой:
Ответ 4
Вам не нужно вызывать parseJSON, так как вывод json_encode является литералом javascript. Просто назначьте его переменной js.
Ответ 5
вы можете конвертировать php-массивы в javascript, используя php json_encode функцию
Ответ 6
Я нахожу самый быстрый и простой способ работы с массивом PHP в Javascript:
Ответ 7
используйте этот метод:
в laravel blade <<>> используйте этот метод:
работает для ассоциированного и несвязанного массива.
Ответ 8
u также может сделать так
Ответ 9
Для массива многомерного в PHP4 вы можете использовать следующее дополнение к коду, опубликованному Udo G:
Ответ 10
Это моя функция. JavaScript должен находиться под PHP, иначе используйте SESSION.
Последняя строка может быть. text (jsArray); и будет показано «1,2,3,4,5,6»
Ответ 11
Я использую фальшивый php-массив
если ваш массив неизвестен (уже сделано)
Ответ 12
Это можно сделать более безопасным способом.
Если ваш PHP-массив содержит специальные символы, вам нужно использовать rawurlencode() в PHP, а затем использовать decodeURIComponent() в JS, чтобы избежать их. И проанализируйте JSON для родных js. Попробуйте следующее:
Ответ 13
У меня была такая же проблема, и вот как я это сделал.
Надеюсь, это поможет.
Ответ 14
Ответ 15
Если вам нужен многомерный массив PHP, который будет напечатан непосредственно в исходном коде страницы html, а также в отступом, предназначенном для чтения с Javascript Javascript Object Notation (aka JSON), используйте эту приятную функцию, которую я нашел в http://php.net/manual/en/function.json-encode.php#102091, закодированный кем-то по кличке «bohwaz».
Ответ 16
Ниже представлен довольно простой трюк для преобразования массива PHP в массив JavaScript:
Как передать массив PHP в функцию JavaScript?
Передача массивов PHP в JavaScript очень проста с помощью JavaScript Object Notation (JSON).
Метод 1: Использование функции json_encode (): Функция json_encode () используется для возврата JSON-представления значения или массива. Функция может принимать как одномерные, так и многомерные массивы.
шаги:
- Создание массива в PHP:
- Использование функции json_encode () для извлечения элементов массива
Пример:
// Create an array
// Access the array elements
var passedArray =
<? php echo json_encode($sampleArray); ?>;
// Display the array elements
for(var i = 0; i < passedArray.length ; i++)<
Выход:
Способ 2: использование PHP-функции implode (): implode () используется для объединения элементов массива. Функция implode () является псевдонимом функции join () и работает точно так же, как и функция join ().
Функция implode () используется для построения строки, которая становится литералом массива в JavaScript. Итак, если у нас есть массив в PHP, мы можем передать его в JavaScript следующим образом:
How to pass an array using PHP & Ajax to Javascript?
Apologies if this explanation isn’t clear, it’s hard for me to understand too. How can I use PHP & Ajax to send an array to Javascript? I’m using Ajax to get an array of photos, which I’m then looking to append to an empty <div> on my page.
The jQuery looks as follows:
And the PHP function getPhotos looks like this:
If I simply echo $photos; the data is sent to the success callback, but it doesn’t appear to be in a usable format.
If I do a var_dump($photos) in PHP, the result looks something like:
I’ve tried various combinations of json_encode and the like but really I am guessing and not sure of the theory behind it. What’s the best way to pass data from PHP to Javascript in this context?
5 Answers 5
On the PHP side, you’ll be wanting to print:
Another thing you might try in order to better encapsulate your code, and as an example of further JSON gooodness, would be:
Then on the server, you’d access these with:
![]()
I made an array $result in PHP and at the end of request.
and in JS $.post handler function :
where k is key value in associative array.
json_encode is definitely the way to go. jQuery even has built-in support for parsing JSON. You could use e.g.
return the json itself and then construct the array in js by looping over the json as follows:
Or you can simply work with the json itself any reason for needing the array?
something like json[0] or json[1] etc.
json_encode rulez when you need this stuff.
I recently learned this cool thing too! Here’s how you do it:
This is optional, if you want to do it, you don’t have to, but in my MVC system, I tend to write this way. So first I make an ajax request (prototype), to a script, that later calls this function jsonResponse I mentioned earlier.