Есть переменные, которые иногда ввыводят на станичку php отрицательные значения. $str = "other |".data_size($traffic[0]['in']-$sum_in)."|".data_size($traffic[0]['out']-$sum_out)."|<b>".data_size($traffic[0]['in']+$traffic[0]['out']-$sum)."</b>"; К примеру: .data_size($traffic[0]['in']-$sum_in) вывод будет 10 .data_size($traffic[0]['out']-$sum_out) вывод будет -20 .data_size($traffic[0]['in']+$traffic[0]['out']-$sum) вывод будет 60 Как сделать так чтобы минус не отображался?
Как это реализовать тут: $str = "other |".data_size($traffic[0]['in']-$sum_in)."|".data_size($traffic[0]['out']-$sum_out)."|<b>".data_size($traffic[0]['in']+$traffic[0]['out']-$sum)."</b>"; Это data_size поменять на abs? Заранее благодарю....
думать совсем не хочется? Код (Text): echo(abs(-20)); // покажет 20 echo(str_replace('-', '', '-20')); // покажет 20
ccoll Ладно, предположим, что вы не сильны в функциях РНР и тому подобном, вы не знаете, как получить модуль числа. Но неужели вы такой уж неудачник в математике, что не можете сделать простейшую операцию - умножить на -1 ? Простейший вариант для тех, кто вообще не знает ни одной функции, и ипользует лишь языковые конструкции и условия: PHP: <?php $foo = 24; $bar = -36; if($foo < 0) $foo = ($foo * -1); if($bar < 0) $bar = ($bar * -1); echo $bar.'<br>'; echo $foo; ?> И это простейший вариант, основанный на математике и, кроме того, тут даже не используется "*=", позволяющая не писать длинные конструкции, и не используется тернарный оператор. Ниже идет наидибильнейший вариант для лузеров: PHP: <?php $foo = -2; // Get absolute value $foo = sqrt($foo*$foo); ?>
Не подходит, так как значение может быть и с плюсом. Мне и надо, чтобы при любом значение положительно, отрицательное, вывод должен быть положительный, если -20 получилось, то мне надо чтобы было 20.
Ты идиот или как? Посмотри наверх ещё раз ВНИМАТЕЛЬНО, или ты даже сравнения не видишь, что число может быть ЛЮБЫМ - хоть положительным, хоть отрицательным? Или религия не позволяет это признать? Ну и люди блин пошли: сами невнимательные, а аргументы вон какие железные. В конце-концов можно было задать функцию, область определения которой будет [-n; 0], где n принадлежит Z. После, по псевдо графику, уже искать область положительных значений (умеем работать с векторами?). Да, это извращение, но это извращение реально решает все проблемы .... впрочем да, какой график функции, если о функциях ничего не известно.
PHP: <?php $foo = -2; // Get absolute value $foo = sqrt($foo*$foo); ?> ХАаххааххааххахахахаах аааааааааааааааааааааааааааа ахахахахаххахахахахаха DDDDDDDDD
Вот так сделал: $ssa = abs ($traffic[0]['in']-$sum_in); $ssb = abs ($traffic[0]['out']-$sum_out); $ssc = abs ($traffic[0]['in']+$traffic[0]['out']-$sum); $str = "other |".data_size($ssa)."|".data_size($ssb)."|<b>".data_size($ssc)."</b>"; Всем спасибо......
Apple Попроще говори. Сообщения своё подправь, что за высказывания в мой адрес, я на тебя не наезжал.... Я в php нешарю. Поэтому и попросил помощи.
Padaboo Давай поиграем в игру. Предлагаю изобрести самый извращенный способ нахождения модуля числа. Использовать можно все доступные в РНР способы =)
А причем тут РНР? Словами можно сформулировать: "Если число меньше нуля, то умножим его на -1 и результат присвоим переменной foo". Другой вариант: "Если в качестве сомножителей взять само число и -1, то произведение всегда будет равно этому числу с противоположным знаком". Это не РНР, это простая логика. Почему я это говорю, когда есть готовая функция abs? Да потому что это программирование, и кроме умения пользоваться готовыми функциями требуется ещё и умение пользоваться аналитическим и логическим мышлением.
Apple Я рад за тебя что такой продвинутый программист, я не программист. Мне просто надо было подправить программу, которую я хотел бы внедрить на предприятии и я сделал это. А пеной ненадо брызгать!
PHP: <?php function dai_modul($a){ ob_start(); printf("%+d".PHP_EOL, $a); $str=ob_get_clean(); return substr($str,1); } echo dai_modul(-50), "<br>"; echo dai_modul(80);