Рекомендую хостингПеренос сайтов и месяц на тестирование - бесплатно!

Преобразование php массива в js - массив, перебор методом forEach()

118

Допустим, есть многомерный php массив, который необходимо преобразовать в массив javascript.

$arr = [
[ Андрей, инженер, 125000 ] ,
[ Василий, программист, 175000 ],
[ Елена, врач, 70000 ] ,
[ Ольга, директор, 130000 ]
]

Преобразование массива

1Чтобы из php массива получить js - массив, сначала необходимо преобразовать его в JSON (JavaScript Object Notation) объект:

$json = json_encode($arr);

Для работы с кириллицей (чтобы она не кодировалась) используется опция JSON_UNESCAPED_UNICODE.

$json = json_encode($arr, JSON_UNESCAPED_UNICODE);

После проведенных манипуляций на выходе получится такая строка

[["Андрей","инженер",125000],["Василий","программист",175000],["Елена","врач",70000],["Ольга","директор",130000]]

2Далее эту строку необходимо передать в скрипт и преобразовать ее в JavaScript - объект с помощью метода JSON.parse():

let arr = '<?php echo $json;?>'; // получаем php массив
arr = JSON.parse(arr); // парсим и получаем готовый массив

При выводе массива в консоль можно увидеть готовый результат

console.log(arr); // выводим массив в консоль

// результат вывода
0: (3) ['Андрей', 'инженер', 125000]
1: (3) ['Василий', 'программист', 175000]
2: (3) ['Елена', 'врач', 70000]
3: (3) ['Ольга', 'директор', 130000]
length: 4

Перебор массива

Для перебора массива можно использовать метод forEach()

arr.forEach(item => {
console.log(item[0]); // выведет имена
console.log(item[1]); // выведет профессии
console.log(item[2]); // выведет зарплаты
});

Для вывода всех его элементов используются два вложенных цикла

arr.forEach(item => {
item.forEach(elem => {
console.log(elem);
});
});

// результат вывода
Андрей
инженер
125000
Василий
программист
175000
Елена
врач
70000
Ольга
директор
130000

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

Ваш адрес email не будет опубликован.

*
code