@FreezkoSS

Как удалить запятую в двумерном массиве?

Вот код ребят, суть в том, что мне надо выводить города для каждой области, при этом разделяя их запятой, а где только один город и в конце запятой не должно быть. Хелпаните плз, хз как убрать их.

<?php
echo "Вывод нескольких областей и входящих в них городов начинающихся на букву 'К':
";
$city = array(
"Московская область" => array("Москва", "Зеленоград", "Клин", "Можайск"),
"Ленинградская область" => array("Санкт-Петербург", "Петергоф", "Тихвин", "Подпорожье", "Кронштадт"),
"Рязанская область" => array("Рязань", "Касимов", "Ряжск", "Скопин", "Рыбное"),
"Республика Карелия" => array("Петрозаводск", "Олонец", "Суоярви", "Сортавала", "Беломорск", "Кемь", "Питкяранта"),
"Мурманская область" => array("Мурманск", "Кировск", "Оленегорск", "Снежногорск", "Ковдор"),
"Ленинградская область" => array("Санкт-Петербург", "Всеволожск", "Гатчина", "Ивангород")
);
$city2 = array();
foreach ($city as $key => $value) {
echo "

", $key, ":
";
foreach ($value as $key => $value) {
if(mb_substr($value, 0, 1) == 'К') {
$city2 = $value.", ";
echo $city2;
}
}
}

Вот такой результат получается:
Московская область:
Клин,

Ленинградская область:

Рязанская область:
Касимов,

Республика Карелия:
Кемь,

Мурманская область:
Кировск, Ковдор,

А должно быть так:

Московская область:
Клин

Ленинградская область:

Рязанская область:
Касимов

Республика Карелия:
Кемь

Мурманская область:
Кировск, Ковдор
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@Famence
Full-stack web-developer / freelancer
Фильтруете (array_filter()) массив с городами на предмет начала с буквы "К"
(mb_substr($e, 0, 1) == 'К'), после чего преобразовываете получившийся массив в строку, разделяя значения запятой ', ':

foreach ($city as $key => $value){
  echo $key . ': ' .  join(', ', array_filter($value, function($e){return mb_substr($e, 0, 1) == 'К'})) . '<br>';
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы