Często muszę używać frakcyjnych modyfikatorów dla moich zmiennych. Lubię to:

$var *= 1.5;

Jednak potrzebuję wyjścia do zaokrąglonego, więc muszę użyć:

$var = round($var * 1.5);

Nie jest wielki interes, ale każdy raz nie mogę używać operatora *= i muszę pisać round(). Czy jest dla tego shrotut?

0
Zorann 19 październik 2020, 12:26

1 odpowiedź

Najlepsza odpowiedź

Jak $var *= 1.5; jest skrótem dla $var = $var * 1.5; Oznacza to, że nie można tu wstrzyknąć żadnych połączeń funkcyjnych. Tak, $var = round($var * 1.5); nie można zmienić za pomocą notacji *=.

Jako rozwiązanie możesz użyć funkcji zdefiniowanej przez użytkownika:

$var = multiplyAndRound($var, 1.5);
function multiplyAndRound($var, $multiplier) {
    return round($var * $multiplier);
}
// or with passing by refrence
$var = 1.3;
multiplyAndRound($var, 1.5);
function multiplyAndRound(&$var, $multiplier) {
    $var = round($var * $multiplier);
}

Ale nie sądzę, że można go nazwać "skrót".

1
u_mulder 19 październik 2020, 09:56