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



@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, т.е. это первая часть номера телефона, и нужно убирать по одному символу с конца, до тех пор, пока не найдем что-то из совпадений по массиву.

Может кто-то подсказать как сделать такой цикл?


Решения вопроса 1



@galaxy

Как-то так:

$phone = "+3581856";
$code = ltrim($phone, "+");
$countries = [];
foreach($allCountries as $c) {
  if (strpos($code, $c[2]) === 0) {
    $countries[] = $c;
  }
}



11

комментариев


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *