Добрый день. Такая проблемма, есть код, if ($age_in_years == "18,19,20,25,26,27,28") $let = "лет"; else $let = "год"; нужно определить равна ли переменная $age_in_years каждому из этих чисел, например. через запятую неполучается, через двоеточее тоже
Заноси все цифры (возраст) в массив, а потом проверяй функцией in_array(), там все просто. http://php.su/functions/?in_array
я еще не совсем разобрался с in_array(), но мне кажеться это немного не то, мне нужно что бы функция проверяла сама по себе, а резулатат заносила в переменную, которую можно подставить в любой части страницы, такое возможно с in_array()?
serj011 ВОзможно. Напиши функцию, которой будешь передавать проверяемое число все с той же in_array, если это число соответствует условию - знач вернет твоя чудо-функция true, а иначе не тру)
люди, ну подскажите как праивльно сделать.... с in_array() у меня не выходит. объясню еще раз суть в перемоенной $age_in_years есть какое то число, если оно равно из перечисленных, то заносим в переменную $let = "лет" else $let = "год"; я пробовал так if ($age_in_years == "18,19,20,25,26,27,28") $let = "лет"; else $let = "год"; но, через запятую не сравнивает с переменной $age_in_years помогите плиз
PHP: <?php function age_v($age) { $all = array(18,19,20); if(!in_array($age,$all)) { return false; } else { return true; } } if(age_v(20)) { echo 'Урраа!'; } else { echo 'Шозанах?'; } ?>
PHP: <?php function ages ($age) { $age_in_years = array(18,19,20,25,26,27,28); if (in_array((int)$age, $age_in_years)) { return $age.' лет'; } return $age.' год'; } $age=20; echo 'васе' . ages($age); $age=21; echo 'пете' . ages($age); ?>
Получается, что у автора будет чтото типа "29 год". Еще ж есть "года", например, 22 года. В интернете есть уже готовые варианты преобразования возраста в нужный вид.
та да, не совсем подходит, интересно можно его доработать еще на "года"??? может кто видел где готовый в инете такую функцию?
serj011 Не наглей. Тебе показали пример - бери дорабатывай под свои нужды. Не знаешь - ищи в интернете, не умеешь - плати деньги.
спасибо за развернутый ответ кончно и за пример тоже. но я не просил писать мне код, я спросил может у кого есть или кто видел в инете... и вообще то это не флилансерский сайт, а форум
блин, опять Апельсин говнокодит. Не судьба так написать? PHP: <?php function age_v($age) { return in_array($age, array(18, 19, 20)); } ?>
пока спецы соревнуются кто "круче", лезеры функции пишут я вот написал, работает как надо, но только примитивная помоему очень... или нет? может кто знает как ее "отточить"? Код (Text): <?php $os = array("5", "6", "7", "8"); if (in_array("5", $os)) { echo "лет"; } $os = array("21", "31", "41"); if (in_array("5", $os)) { echo "год"; } $os = array("32", "33", "34"); if (in_array("5", $os)) { echo "года"; } ?> [/b]
бугогашечка. хотите суперкодик. PHP: <?php $ages=array( 1 => 'год', 2 => 'года', 3 => 'года', 4 => 'года', 5 => 'лет', 6 => 'лет', 7 => 'лет', 8 => 'лет', 9 => 'лет', 10 => 'лет', 11 => 'лет', 12 => 'лет', 13 => 'лет', 14 => 'лет', 15 => 'лет', 16 => 'лет', 17 => 'лет', 18 => 'лет', 19 => 'лет', 20 => 'лет', 21 => 'год', 22 => 'года', 23 => 'года', 24 => 'года', 25 => 'лет', 26 => 'лет', 27 => 'лет', 28 => 'лет', 29 => 'лет', 30 => 'лет', 31 => 'год', 32 => 'года', 33 => 'года', 34 => 'года', 35 => 'лет', 36 => 'лет', 37 => 'лет', 38 => 'лет', 39 => 'лет', 40 => 'лет', 41 => 'год', 42 => 'года', 43 => 'года', 44 => 'года', 45 => 'лет', 46 => 'лет', 47 => 'лет', 48 => 'лет', 49 => 'лет', 50 => 'лет', 51 => 'год', 52 => 'года', 53 => 'года', 54 => 'года', 55 => 'лет', 56 => 'лет', 57 => 'лет', 58 => 'лет', 59 => 'лет', 60 => 'лет', 61 => 'год', 62 => 'года', 63 => 'года', 64 => 'года', 65 => 'лет', 66 => 'лет', 67 => 'лет', 68 => 'лет', 69 => 'лет', 70 => 'лет', 71 => 'год', 72 => 'года', 73 => 'года', 74 => 'года', 75 => 'лет', 76 => 'лет', 77 => 'лет', 78 => 'лет', 79 => 'лет', 80 => 'лет', 81 => 'год', 82 => 'года', 83 => 'года', 84 => 'года', 85 => 'лет', 86 => 'лет', 87 => 'лет', 88 => 'лет', 89 => 'лет', 90 => 'лет', 91 => 'год', 92 => 'года', 93 => 'года', 94 => 'года', 95 => 'лет', 96 => 'лет', 97 => 'лет', 98 => 'лет', 99 => 'лет' ); ?> проще говоря, больше десяти - см последнюю цифру.
Балин PHP: <?php function numsuf($num) { return ($c=substr($num,-1))==1?'год':in_array($c,array(2,3,4))?'года':'лет'; } echo 'Тебе 15 ', numsuf(15);
serj011 а в чем смысл Вашего суаеркодика? м как его вообще применить? да это шутка. echo '11 ' . $ages[11];
это echo 'Тебе 15 ', numsuf(15); и это echo '11 ' . $ages[11]; примеры. куда там вставлять цифру - приглядись внимательнее =) ЗЫ: нас разводят, братушки...