@lasthero67

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

Как сделать подстановку из массива в PHP?
На странице новости задан город: Москва, Санкт-Петербург и т.д. Мне нужно в файле создать массив с присвоением ID для каждого города, ID будет присваиваться в файле вручную. Как правильно создать такой файл?
Затем на этой же странице новости в PHP мне нужно название города сматчить с этим созданным файлом и получить значение ID вместо названия. Как это все правильно организовать?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
pvsaintpe
@pvsaintpe
Senior PHP Developer
Слишком много вопросов и мало конкретки.

У вас есть phpфайл примерно такого содержимого:
<?

return [
    101 => 'Москва',
    204 => 'Санкт-Петербург',
    // ...
];


API требует ID, а для вывода на сайте вам нужен Name, так как в url у вас будет примерно такое

?city_id=101

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

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

function getIdByName(string $name): int
{
$cities = require "cities.php";

foreach ($cities as $id => $name) {
   if ((int) $_GET['citi_name'] === $name) {
       return $id;
   }
}

throw new Exception('город не существует');
}


Если вы хотите получать название по айди достаточно этого
$name = $cities[$_GET['city_id']] ?? 'Invalid name';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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