Trywialny
$num = $num <= 0 ? $num : -$num ;
lub lepszym rozwiązaniem, IMHO:
$num = -1 * abs($num)
Jak @VegardLarsen opublikował,
wyraźne mnożenie można uniknąć dla krótkości, ale wolę czytelność niż krótkość ss
Proponuję aby uniknąć if/else (lub odpowiednik operatora trójskładnikowych), zwłaszcza jeśli masz do manipulowania liczbę elementów (w pętli lub za pomocą funkcji lambda), jak to wpłynie na wydajność.
"Jeśli wartość zmiennoprzecinkowa jest ujemna, spraw, aby była pozytywna."
Aby zmienić znak liczby można po prostu zrobić:
$num = 0 - $num;
lub pomnożyć przez -1, oczywiście :)
pływaki;) Mój złe. – dotty