Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


Сделать число отрицательным (PHP)

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

Способ 1

Этот способ является самым быстрым.

1
2
3
4
5
6
7
8
<?php

function neg1($num)
{
    return 
$num $num : -1*$num;
}

?>

Способ 2

Второй по скорости способ.

1
2
3
4
5
6
7
8
<?php

function neg2($num)
{
    return (int)(
'-'.abs($num));
}

?>

Способ 3

Самый медленный, но самый красивый.

1
2
3
4
5
6
7
8
<?php

function neg3($num)
{
    return -
abs($num);
}

?>

Заключение

Вообще разница в скорости настолько незначительна, что ее в расчет можно не брать.

Опыт проводился следующим образом: 20000 случайных чисел проверялись на время, 10 тестов каждой функции, затем вычисление среднего значения.

Первый способ показал себя самым быстрым (~0.514 секунд на обработку 200000 чисел). Все-таки без вызова лишних функций проверка идет быстрее.

Второй способ показал себя чуть медленнее (~0.532 секунд на обработку 200000 чисел).

Третий способ показал себя самым медленным (~0.544 секунд на обработку 200000 чисел).

Опубликовано: 20 сентября 2011  ·  Автор: Артём Фёдоров  ·  7025 просмотров

Категория

ГлавнаяПрограммированиеPHPЧислаСделать число отрицательным (PHP)

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

А если $number уже является отрицательным числом?
Артём Фёдоров · 3 года назад
Хрень какую то пишете... Почему просто в функции нельзя вернуть "return -$number;"? И умножение на -1 является более правильным вариантом особенно по сравнению с остальными вариантами
Эдуард Максимович · 3 года назад
Числа, PHP, Программирование

© 2010-2017 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания