@Pamagite

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

Надо вывести в select города и абревиатуры, и как бы путь с одного города в другой.
Как примерно выглядеть должно. Как то брать next() и записывать, чтоли? Надеюсь кто подскажет какой нибуть не громоздкий вариант
<select name="" id="">
 <option value="HRK">HRK</option>
 <option value="HRK->KHE">HRK->KHE</option>
 <option value="KHE">KHE</option>
 <option value="KHE->ODS">KHE->ODS</option>
 <option value="LVO">LVO</option>
 <option value="LVO->ODS">LVO->ODS</option>
<option value="ODS">ODS</option>
</select>

array:4 [▼
  0 => array:5 [▼
    "id" => 3
    "name" => "HRK"
    "city" => "KHARKIV"
  ]
  1 => array:5 [▼
    "id" => 6
    "name" => "KHE"
    "city" => "KHERSON"
  ]
  2 => array:5 [▼
    "id" => 7
    "name" => "LVO"
    "city" => "LVOV"
  ]
  3 => array:5 [▼
    "id" => 4
    "name" => "ODS"
    "city" => "ODESA"
  ]
]
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Можно как-то так:
$last_city = ''; // initial empty value
foreach($cities as $city) {
	if ($last_city != '') { // if value not empty show transit option
		echo '<option value="'.$last_city.'-'.$city['name'].'">'.$last_city.'-'.$city['name'].'</option>'. PHP_EOL;
	}
	echo '<option value="'.$city['name'].'">'.$city['name'].'</option>' . PHP_EOL;
	$last_city = $city['name']; // store value for next iteration
}


Проверить PHP код здесь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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