Проблема с условиями

Печать RSS
56

Автор
Пацак
0
9 непонял, я ж поубирал плюсы, 10. ага я уже заметил но это неважно, не работает мое изобретение что делать
K

Транклюкаторщик
0
11, щас напишу тебе свою версию
Автор
Пацак
0
давай
K

Транклюкаторщик
0
<?php
$plus = 16; # плюсы
$minus = 1; # минусы
$avt = $plus-$minus; # авторитет

$avt_name = array('Кидалко' => '-15|-11','Барыжко' => '-10|-6','Салага' => '-5|-1','Зеленый' => '0|5','Чайник' => '6|10','Наш чел' => '11|15','Уважаемый' => '16|20','Почётный' => '21|30','Вышибало' => '31|50');

foreach($avt_name as $name =>$num){
list($min,$max) = explode('|',$num);
$nums_range = range($min,$max);
# echo $name.' от '.$min.' до '.$max.'<br/>';
if(!in_array($avt,$nums_range)){continue;}else{$status = $name;}
}

echo 'Статус: '.$status.'<br/>'.'Авторитет: '.$avt.'( + '.$plus.' | '.$minus.' - )';
?>
вот как то так )
код рабочий,проверял.
удобно под админку адаптировать
Изменил: KOZZ (08.08.2010 / 19:23)

Старожил вапа, Кодер
0
happy
Автор
Пацак
0
Да, работает, но я не пойму твой массив. как ты в нем адаптивовал эти статусы
Автор
Пацак
0
Ага все разобрался, спс от души smile
K

Транклюкаторщик
0
16, всм? это ассоциативный массив, ключом является название статуса, значением - строка вида "от|до".
дальше эта строка разделяется в переменные $min|$max, и создается массив допустимых чисел авторитета(о_О) для каждого статуса.
-------------
дальше если авторитет НЕ в массиве допустимых цифр статуса - проверяется следующий,и так пока не найдется соответствующее значение))
Изменил: KOZZ (08.08.2010 / 19:31)
K

Транклюкаторщик
0
17, не за что )
K

Транклюкаторщик
0
кстати: лучше не использовать эту функцию для больших цифр, т.к. в каждой итерации будет создаваться большой массив
-------
посмотри еще в моторе эту функцию, там наверное проще сделано
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск