Как передать массив из php в javascript
Перейти к содержимому

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

Преобразование 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:

user avatar

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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *