sudo /opt/scripts/create_user user_xe1qGnFNmatHzycPKKvk PXeV5NSIhhhiSRg7OHxk
$cities = [
'а' => ['Абакан', 'Актюбинск', 'Астрахань'],
'б' => ['Благовещенск', 'Бузулук'],
...
'я' => ['Яренга']
];
function di_find($array, $str) {
$find = mb_strtolower($str);
$first = 0;
$max = $last = count($array)-1;
while (true) {
if ($first > $last)
return array();
$cur = floor(($first+$last)/2);
$city = mb_strtolower($array[$cur]);
if (mb_strpos($city, $find) === 0)
break;
if ($city < $find)
$first = $cur+1;
else
$last = $cur-1;
}
$first = $last = $cur;
while ($first > 0 && mb_stripos($array[$first-1], $find) === 0)
$first--;
while ($last < $max && mb_stripos($array[$last+1], $find) === 0)
$last++;
return(array_slice($array, $first, $last-$first+1));
}
`A` JOIN `B` ON <условие>
(`A` JOIN `B`)
WHERE <условие>
Хотите сохранять в VARCHAR - сохраняйте как строку, а не как число. Естественно, никакие математические операции со строкой работать не будут.