Ge0SuB
Guest
Как найти в большом масиве значение по максимальному совпадению ключа.
Сабж.
Тоесть есть масив с кодом стран, ключь код страны значение имя страны
нада найти не строгое соответствие
например
$c[380] = 'Ukraine'
если искать 380 то тогда можно там echo $c['380'] получим ураину.
Но ведь можно еще искать 38044 это код киева, и для него подходит элемент масива в котором ключ 380
тоесть если искать 38044 то должно вернуть Ukraine
Как ?
-~{}~ 29.12.04 16:02:
А вот так
Можно данные занести в другой масив, отсортировать и взять самое первое значение
Всем спасибо!
-~{}~ 29.12.04 16:02:
Это алгоритм, прошу не коментировать!
-~{}~ 29.12.04 16:05:
А вот уже рабочая версия
Может есть идеи по лучше?
Сабж.
Тоесть есть масив с кодом стран, ключь код страны значение имя страны
нада найти не строгое соответствие
например
$c[380] = 'Ukraine'
если искать 380 то тогда можно там echo $c['380'] получим ураину.
Но ведь можно еще искать 38044 это код киева, и для него подходит элемент масива в котором ключ 380
тоесть если искать 38044 то должно вернуть Ukraine
Как ?
-~{}~ 29.12.04 16:02:
А вот так

PHP:
function getElementvalue($array,$element)
{
global $return;
while(list($key,$val) = each($array))
{
if (ereg($element, $key))
{
echo $val." - ".$key."<br>";
}
}
return "unknown";
}
$var = getElementvalue($country,"38044");

-~{}~ 29.12.04 16:02:
Это алгоритм, прошу не коментировать!
-~{}~ 29.12.04 16:05:
А вот уже рабочая версия

PHP:
function getElementvalue($array,$element)
{
global $return;
while(list($key,$val) = each($array))
{
if (ereg($element, $key))
{
$foundval[] = $val;
$found = 1;
}
}
if ($found == 1)
{
return $foundval[0];
}
else
{
return "unknown";
}
}