Задать вопрос
proudmore
@proudmore

Как по вывести двумерный массив из PHP в JS массив по отдельности?

Здравствуйте. Есть массив на входе:
array(41) { [0]=> array(2) { [0]=> string(1) "1" [1]=> string(12) "Москва" } [1]=> array(2) { [0]=> string(1) "2" [1]=> string(29) "Санкт-Петербург" } [2]=> array(2) { [0]=> string(1) "3" [1]=> string(22) "Новосибирск" } [3]=> array(2) { [0]=> string(1) "4" [1]=> string(24) "Екатеринбург" } [4]=> array(2) { [0]=> string(1) "5" [1]=> string(29) "Нижний Новгород" } [5]=> array(2) { [0]=> string(1) "6" [1]=> string(12) "Казань" } [6]=> array(2) { [0]=> string(1) "7" [1]=> string(18) "Челябинск" } [7]=> array(2) { [0]=> string(1) "8" [1]=> string(8) "Омск" } [8]=> array(2) { [0]=> string(1) "9" [1]=> string(12) "Самара" } [9]=> array(2) { [0]=> string(2) "10" [1]=> string(26) "Ростов-на-Дону" } [10]=> array(2) { [0]=> string(2) "11" [1]=> string(6) "Уфа" } [11]=> array(2) { [0]=> string(2) "12" [1]=> string(20) "Красноярск" } [12]=> array(2) { [0]=> string(2) "13" [1]=> string(10) "Пермь" } [13]=> array(2) { [0]=> string(2) "14" [1]=> string(14) "Воронеж" } [14]=> array(2) { [0]=> string(2) "15" [1]=> string(18) "Волгоград" } [15]=> array(2) { [0]=> string(2) "16" [1]=> string(18) "Краснодар" } [16]=> array(2) { [0]=> string(2) "17" [1]=> string(14) "Саратов" } [17]=> array(2) { [0]=> string(2) "18" [1]=> string(12) "Тюмень" } [18]=> array(2) { [0]=> string(2) "19" [1]=> string(16) "Тольятти" } [19]=> array(2) { [0]=> string(2) "20" [1]=> string(12) "Ижевск" } [20]=> array(2) { [0]=> string(2) "21" [1]=> string(14) "Барнаул" } [21]=> array(2) { [0]=> string(2) "22" [1]=> string(14) "Иркутск" } [22]=> array(2) { [0]=> string(2) "23" [1]=> string(18) "Ульяновск" } [23]=> array(2) { [0]=> string(2) "24" [1]=> string(18) "Хабаровск" } [24]=> array(2) { [0]=> string(2) "25" [1]=> string(18) "Ярославль" } [25]=> array(2) { [0]=> string(2) "26" [1]=> string(18) "Махачкала" } [26]=> array(2) { [0]=> string(2) "27" [1]=> string(10) "Томск" } [27]=> array(2) { [0]=> string(2) "28" [1]=> string(16) "Оренбург" } [28]=> array(2) { [0]=> string(2) "29" [1]=> string(16) "Кемерово" } [29]=> array(2) { [0]=> string(2) "30" [1]=> string(22) "Новокузнецк" } [30]=> array(2) { [0]=> string(2) "31" [1]=> string(12) "Рязань" } [31]=> array(2) { [0]=> string(2) "32" [1]=> string(18) "Астрахань" } [32]=> array(2) { [0]=> string(2) "33" [1]=> string(31) "Набережные Челны" } [33]=> array(2) { [0]=> string(2) "34" [1]=> string(10) "Пенза" } [34]=> array(2) { [0]=> string(2) "35" [1]=> string(12) "Липецк" } [35]=> array(2) { [0]=> string(2) "36" [1]=> string(10) "Киров" } [36]=> array(2) { [0]=> string(2) "37" [1]=> string(8) "Тула" } [37]=> array(2) { [0]=> string(2) "38" [1]=> string(18) "Чебоксары" } [38]=> array(2) { [0]=> string(2) "39" [1]=> string(22) "Калининград" } [39]=> array(2) { [0]=> string(2) "40" [1]=> string(10) "Курск" } [40]=> array(2) { [0]=> string(2) "41" [1]=> string(15) "Улан-Удэ" } }


На выходе нужно получить два JS массива, вида:
var city_name = ["Москва","Санкт-Петербург",...];
 var city_key = ["1", "2"....];


Я выводил члены вложенных массивов вот так:
foreach($cities as $current_city){
		echo "'$current_city[0]',";
	}


Но проблема в том, что в конце окажется символ запятой, нарушающий js синтаксис. Как быть, помогите пожалуйста.
  • Вопрос задан
  • 502 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
foreach($cities as $k=>$current_city){
    echo ($k?',':'')."'$current_city[0]'";
  }


или второй вариант:
$cities = [
        ['1', 'Moscow'],
        ['2', 'Kazan'],
    ];

    echo "var cities_id = ['".implode("','", array_column($cities, 0))."'];";
    echo '<br>';
    echo "var cities_name = ['".implode("','", array_column($cities, 1))."'];";
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы