Ingernirated
@Ingernirated
Романыч

Как правильно записать цикл массива в echo?

Почему выдает ошибку и как правильно оформить всё это под одними ковычками?
for($i = 0; $i < count($travel["Ukraine"]); $i++) {
		echo "<p> $travel[\"Ukraine\"][$i] </p>" . "<br />";
}

Такой код выдает первой строкой точку, а потом все элементы, откуда там точка берется? (в массиве её нет, без тега p всё чисто)
for($i = 0; $i < count($travel["Ukraine"]); $i++) {
		echo "<p>" .  $travel["Ukraine"][$i] .  "</p>" . "<br />";
}


$travel = [
		"Russia" => [
			"Moscow", "St-Peterburg", "Krasnoyarsk"
		],
		"Ukraine" => [
			"Kiev", "Odessa", "Nikopol", "Donetsk"
		],
		"Belarusia" => [
			"Minsk", "Bobruisk"
		]
	];

e9c999a31fbf4b0dbb058beecd38c1ca.jpg
  • Вопрос задан
  • 181 просмотр
Решения вопроса 2
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
var_dump($travel["Ukraine"]);
Покажите что там в массиве.

udp:
foreach ($travel as $country => $cities) {
    echo '<h1>'.$country.'</h1>';
    foreach ($cities as $city) {
        echo '<p>'.  $city .  '</p>';
    }
}


Или если вам надо вывести только города Украины.
foreach ($travel["Ukraine"] as $city) {
    echo '<p>'.  $city .  '</p>';
}
Ответ написан
Steein
@Steein
Программист
$travel = [
    "Russia" => [
      "Moscow", "St-Peterburg", "Krasnoyarsk"
    ],
    "Ukraine" => [
      "Kiev", "Odessa", "Nikopol", "Donetsk"
    ],
    "Belarusia" => [
      "Minsk", "Bobruisk"
    ]
  ];

function getL2Keys($array)
{
    $result = array();
    foreach($array as $sub) {
        $result = array_merge($result, $sub);
    }        
    return array_keys($result);
}

echo '<pre>';
    print_r(getL2Keys($travel));
echo '</pre>';
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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