@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