Подскажите в чем проблема Код (Text): $Rate = '-1' ; $RateDwn = $Rate > 0 ? '+' : '-' ; $user->user_skill = $userSkill . $RateDwn . $user_skill / 2; $user->user_rating = $userRating . $RateDwn . $user_rating / 2; Не пашет, определяет как строку? Такой вариант робит Код (Text): if($Rate > 0) { $user->user_skill = $userSkill + $user_skill / 2; $user->user_rating = $userRating + $user_rating / 2; } else { $user->user_skill = $userSkill - $user_skill / 2; $user->user_rating = $userRating - $user_rating / 2; } Но хочется покороче
Код (PHP): $Rate = '-1'; $RateDwn = $Rate > 0 ? '+' : '-'; $user->user_skill = eval($userSkill . $RateDwn . $user_skill . '/ 2'); $user->user_rating = eval($userRating . $RateDwn . $user_rating . '/ 2');
Зачем ее избегать если у вас это в том, месте, где другой пользователь не сможет вставить скрипт... Опасность только в том, что нельзя делать eval() когда пользователь отправляет данные на сервер... А так, вообще не важно...
Кстати, я там неправильно написал. Если делать с eval(), то тогда так: Код (PHP): $user->user_skill = eval('return(' . $userSkill . $RateDwn . $user_skill . '/ 2)');