@aopil

Как сделать цикл?

Есть такой массив:
$allCountries = [
            [ "Western Sahara", "eh", "212", 1, [ "5288", "5289" ] ],
            [ "Yemen", "ye", "967" ],
            [ "Test", "te", "358", 1, [ "18" ],
            [ "Zambia", "zm", "260" ],
            [ "Zimbabwe", "zw", "263" ],
            [ "Aland Islands", "ax", "358", 1, [ "18" ] ]
        ];

Расшифровка значений массива:
name: [0]
iso2: [1]
dialCode: [2]
priority: [3]
areaCodes: [4]


Есть переменная: +358
Мне нужно найти все массивы у которых dialCode == 358

Проблема в том, что переменная обычно идет в формате: +3581856, т.е. это первая часть номера телефона, и нужно убирать по одному символу с конца, до тех пор, пока не найдем что-то из совпадений по массиву.

Может кто-то подсказать как сделать такой цикл?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
@galaxy
Как-то так:
$phone = "+3581856";
$code = ltrim($phone, "+");
$countries = [];
foreach($allCountries as $c) {
  if (strpos($code, $c[2]) === 0) {
    $countries[] = $c;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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