ТК "Энергия". Запрос на
этот адрес (нужен доступ) отдаёт весь ассоциативный массив городов и складов компании "cityList" такого типа:
[3071] => Array
(
[id] => 500009310
[name] => Новочеркасск
[idCountry] => 86015311036992
[isRegionalDelivery] =>
[parentId] => -1
[description] => РОСТОВСКАЯ ОБЛАСТЬ
[type] => 1
[defaultIdWare] => 0
[warehouses] => Array
В ответе делаю поиск совпадения по ключу [name] чтобы получить значение [id] для последующей работы с ним.
$array = ($obj["cityList"]);
$index=array();
foreach($array as $k => $v)
{
$index[$v['name']]=$k;
}
$cityid = $array[$index[$name]]["id"];
В качестве искомого значения всегда выступает название населённого пункта. Это название всегда пишется с большой буквы. Всё работает так как нужно ровно до того момента, пока не столкнёшься вот с таким значением в ответе: (искомое слово "Нефтеюганск")
[2801] => Array
(
[id] => 500025228
[name] => НефтеЮГАНСК
[idCountry] => 86015311036992
[isRegionalDelivery] =>
[parentId] => -1
[description] => Ханты-Мансийский автономный округ
[type] => 1
[defaultIdWare] => 0
[warehouses] => Array
Или вот с таким значением в ответе: (искомое слово "Красноярск")
[2034] => Array
(
[id] => 3912
[name] => КрасноЯРСК
[idCountry] => 86015311036992
[isRegionalDelivery] =>
[parentId] => -1
[description] => Красноярский край
[type] => 1
[defaultIdWare] => 20545
[warehouses] => Array
.
Можно ли как-то находить нужное значением без привязки к регистру букв? Чтобы при таких "странных" записанных значениях всё равно поиск заканчивался удачно?