Как получить еденицу или ноль?:)

Guest111

Guest
Как получить еденицу или ноль?:)

Странный конечно вопрос... но все-таки интересно какой выход может быть из этого положения.
Имеется код:

Код:
$some_var = 3;
echo $arr[$some_var];
Но дело в том, что длина $arr == 2 элементам. Хочется, чтобы после использования некоторой(?) функции с использованием переменной $some_var получить либо 0, либо 1, по такому правилу:
если $some_var > 0 => возвратить 1
если $some_var == 0 => возвратить 0

Как это сделать?
Не хочу вводить дополнительные переменные, собственные функции.
Вопрос касается ближе к мат. подходу, может кто знает как такое организовать?
 

svetasmirnova

маленький монстрик
А с отрицательными что делать?
PHP:
$some_var = ($some_var > 0) ? 1 : (($some_var == 0) ? 0 : something);
--
ну очень серьёзная девушка =)
 

Guest111

Guest
svetasmirnova
с отрицательными по аналогии с твоим примером только применить чуть другую логику, если ноль, то ноль иначе еденица.

Фанат
у меня с самого начало именно это стояло :) я подумал, что решение по логике не совсем рациональное, а следовательно никакой гарантии, что завтра не поставят какую-нить новую версию интерпретатора и этот код откажется работать

ForJest
класс решение, очень лихо! Спасибо!

-~{}~ 25.09.05 19:31:

svetasmirnova
кстати, ответ ForJest тоже в теме. Это вообще какое-то универсальное решение :)
 

svetasmirnova

маленький монстрик
>если ноль, то ноль иначе еденица.
>кстати, ответ ForJest тоже в теме.
ответ Фанат тоже в теме ,)
 

Guest111

Guest
Navarro
а насколько корректным считается использование чего-то подобного?

Код:
$arr[(($some_var<>0) ? 1 : 0)]
все-таки считаю, что ответы ForJest'а и Фанат'а остаются быть нетленными ;)

Navarro
просто изменять саму переменную не хочется, а вдруг она ещё понадобится по выполнению? И вводить другую переменую не имеет смысла, т.к. увидели, что свободно можно обойтись без этого
 

Screjet

Новичок
Топик из раздела экстремального программирования :)
PHP:
echo $arr[intval(!!$some_var)];
 
Сверху