3v4l.org

run code in 300+ PHP versions simultaneously
<?php $cityID = '2'; $oldCityFound = false; $newCityFound = false; $arr = [ '1' => ['ID'=>'1', 'NAME'=>'Moscow', 'UF_DEFAULT'=>'1', 'UF_CITY_CORD'=>'55.76, 37.64'], '2' => ['ID'=>'2', 'NAME'=>'Tver', 'UF_DEFAULT'=>'0', 'UF_CITY_CORD'=>'55.76, 37.64'], '3' => ['ID'=>'3', 'NAME'=>'Nahodka', 'UF_DEFAULT'=>'0', 'UF_CITY_CORD'=>'55.76, 37.64'], '4' => ['ID'=>'4', 'NAME'=>'Omsk', 'UF_DEFAULT'=>'0', 'UF_CITY_CORD'=>'55.76, 37.64'], ]; foreach ($arr as &$row) { if ($row['ID'] == $cityID) { if ($row['UF_DEFAULT'] == 1) { break; // nothing to change } $row['UF_DEFAULT'] = 1; $newCityFound = true; } elseif ($row['UF_DEFAULT'] == 1) { $row['UF_DEFAULT'] = 0; $oldCityFound = true; } if ($newCityFound && $oldCityFound) { break; // both jobs done ...efficiently } } unset($row); // best practice var_export($arr);

preferences:
43.64 ms | 404 KiB | 5 Q