jack_azizov
@jack_azizov

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

$mas = ['Самарская область' =>'Чапаевск','Новокуйбыышевск','безенчуг',
'Московская область'=>'Москва','Аргентина','Казань','Иннополис',
];
foreach ($mas as $region => $city);
?>


  • <?php foreach ($mas as $region => $city) ?>

  • <?php echo $region?>



Ребят подскажите пожалуйста что я делаю не так ?

Я объявил массив. Через фор ич перебрал его и теперь хочу вывести результат через список, чтобы область была верхним уровнем , а города нижним.

Пожалуйста учтите ,что я только только изучаю php и это первая работа с массивом.

Если вы сможете написать готовый код буду благодарен, я смогу проанализировать его.

Почему я пишу эхо регион а мне выводится число 4 ?
  • Вопрос задан
  • 975 просмотров
Решения вопроса 1
Почему я пишу эхо регион а мне выводится число 4 ?


Потому что он вам выводит ключ, а не значение.

$mas = [
'Самарская область' =>'Чапаевск',
'Новокуйбыышевск',
'безенчуг',
'Московская область'=>'Москва',
'Аргентина',
'Казань',
'Иннополис',
];
foreach ($mas as $region => $city){
     echo $city. '</br>';
}?>

Результат:
059c3be36a8b4f0e836b5804803c9eab.png

или вот так, если хотите:
$mas = ['Самарская область'=>['Чапаевск','Новокуйбыышевск','безенчуг'],
'Московская область'=>['Москва','Аргентина','Казань','Иннополис']
];
foreach ($mas as $key=>$val){
	echo $key.':</br>';
  foreach ($val as $key){
		echo $key. '</br>';
	}
}

Вывод:
5a60254edcfe4e028ad2c82aed78c479.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Arik
Надо еще раз прочитать про массивы PHP.

В качестве ключа можете использовать Регион, значение по этому ключу должен быть массив с городами, у вас сейчас вперемешку все и Регионы и города
$maps = [
    'Самарская область' => [
        'Город 1',
        'Город 2',
    ],
];
Ответ написан
Комментировать
@k0nsu1
<?php foreach ($mas as $region => $city) : ?>
<?php endforeach; ?>

или же

<?php foreach ($mas as $region => $city) { ?>
<?php } ?>
Ответ написан
tomnolane
@tomnolane
профессиональный разработчик
$mas_samara = ['Чапаевск','Новокуйбыышевск','безенчуг'];
$mas_moscow = ['Москва','Аргентина','Казань','Иннополис'];  

echo "Самарская область:<br/>";
foreach ($mas_samara as $city)
echo "$city<br/>";

echo "<br/><br/>Московская область:<br/>";
foreach ($mas_moscow as $city)
echo "$city<br/>";


или так:
$mas = [
    'Самарская область' => [
        'Чапаевск',
        'Новокуйбыышевск',
		'безенчуг'
    ],
	'Московская область' => [
		'Москва',
		'Аргентина',
		'Казань',
		'Иннополис'
	]
];

echo "<br/><br/>Самарская область:<br/>";
foreach ($mas['Самарская область'] as $city)
echo "$city<br/>";

echo "<br/><br/>Московская область:<br/>";
foreach ($mas['Московская область'] as $city2)
echo "$city2<br/>";


результат всего:
2981b0093c9d4106856dfcec8e00ebe6.PNG

п.с. <br/>- это перенос на новую строку
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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