Jak wyłączyć błąd "Podział przez zero" i ustawić wynik na wartość null dla całej aplikacji? Mówiąc "dla całej aplikacji", mam na myśli, że nie jest to pojedyncze wyrażenie. Zamiast tego, gdy wystąpi błąd "Podział przez zero", wynik zostanie automatycznie ustawiony na wartość null i nie zostanie zgłoszony żaden błąd.Jak wyłączyć błąd "Podziel przez zero" i ustawić wynik na wartość null dla całej aplikacji?
Odpowiedz
To powinno wystarczyć.
$a = @(1/0);
if(false === $a) {
$a = null;
}
var_dump($a);
wyjścia
NULL
Zobacz bibl tutaj error controls.
EDIT
function division($a, $b) {
$c = @(a/b);
if($b === 0) {
$c = null;
}
return $c;
}
w dowolnym miejscu substytut 1/0
przez wywołanie funkcji division(1,0)
.
EDIT - Bez trzeciej zmiennej
function division($a, $b) {
if($b === 0)
return null;
return $a/$b;
}
Wow thats so simple (Chciałbym o tym pomyśleć), ale czy to ustawienie na wartość null? –
mmm w prawo, ale nadal jestem zaskoczony jego zmianą: P –
To jest najlepsza ogólna koncepcja. Jednak zawiedzie, gdy 'a == 0'. Powinieneś zmienić warunek, aby był "if ($ c === false)". Ale tak naprawdę powinieneś sprawdzić, czy '$ b == 0'. ;) – Matthew
prosty jak również ABC .. * 123-PI
$number = 23;
$div = 0;
//If it's not 0 then divide
if($div != 0)
$result = $number/$div;//is set to number divided by x
}
//if it is zero than set it to null
else{
$result = null;//is set to null
}
Jako funkcji
function mydivide($divisior, $div){
if($div != 0)
$result = $divisor/$div;//is set to number divided by x
}
//if it is zero than set it to null
else{
$result = null;//is set to null
}
return $result;
}
Zastosowanie to tak
$number = mydivide(20,5)//equals four
Nie mogę myśleć o sposób zestawu to gdy istnieje podział ale chciałbym korzystać z funkcji i przemianować go coś jak „d” więc jest to krótki!
To straszne rozwiązanie, ale na szczęście, nie będzie go używać, ponieważ zmienna jest ustawiona na false
zamiast null
.
function ignore_divide_by_zero($errno, $errstring)
{
return ($errstring == 'Division by zero');
}
set_error_handler('ignore_divide_by_zero', E_WARNING);
W twoim przypadku utworzę funkcję, która wykona twój podział dla ciebie.
Co o użyciu operatora potrójny, tak:
$a = $c ? $b/$c : null;
To naprawdę nie obsługuje aspektu" całej aplikacji ". –
- 1. Jak ustawić kierunek całej aplikacji na RTL?
- 2. "błąd: NULL" lub "error: zero"?
- 3. Jak wyłączyć aplikację NSLog w całej aplikacji?
- 4. Jaki jest wynik dzielenia przez zero?
- 5. Jak ustawić sekundy na zero dla NSDate
- 6. jak ustawić domyślne informacje o kulturze dla całej aplikacji C#
- 7. Jak ustawić wartość na wartość NULL podczas korzystania z Zend_Db
- 8. Jak wyłączyć ARC dla całej grupy/folderu plików?
- 9. Dlaczego moje zapobieganie "Podziel przez zero" nie działa?
- 10. Jak ustawić bieżący rekord źródła BindingSource na wartość null?
- 11. getLaunchIntentForPackage ma wartość null dla niektórych aplikacji
- 12. Jawnie ustawić wartość kolumny na wartość null SQL Developer
- 13. Jak ustawić element na całej wysokości strony?
- 14. Wyłączanie autokorekcji dla UITextField w całej aplikacji
- 15. Jak dynamicznie dodawać i usuwać css dla całej aplikacji JavaFX?
- 16. Symfony2: Jak wymusić HTTPS dla całej aplikacji?
- 17. Clojure zero vs Java null?
- 18. jak wyłączyć Alt + F4 dla aplikacji?
- 19. Jak ustawić dzielnik (na wartość null) niestandardowego układu ListFragment
- 20. Jak ustawić Thread.CurrentPrincipal do użytku w całej aplikacji?
- 21. Jak utworzyć routing dla aplikacji Rails w całej aplikacji?
- 22. Jak ustawić zmienną daty na wartość null w VB.NET
- 23. Łatwy sposób na ustawienie CurrentCulture dla całej aplikacji?
- 24. Jak wyłączyć buforowanie dla całej mojej witryny ASP.NET MVC 3?
- 25. Błąd: null wartość wpisu: streamOutputFolder = null
- 26. Dlaczego musimy ustawić zmienną __block na zero?
- 27. zamień wartość NULL na wartość pustą lub zero w serwerze sql
- 28. Czy usunąć prywatną kolekcję lub ustawić ją na wartość null?
- 29. Jak uwzględnić wartość null w JSON przez NSJSONSerialization?
- 30. Jak ustawić niestandardową czcionkę dla całej aplikacji dla systemu iOS bez określania rozmiaru
Jeśli szukasz C++ operatora przeciążenia możliwości, więc php nie obsługuje, zobacz dyskusję tutaj: http: // stackoverflow .pl/questions/787692/operator-overloading-in-php – Igor
Pomijanie błędów jest ogólnie uważane za złą praktykę. Możesz użyć 'try' i' catch', ale nie '@ '. Powinieneś napisać swój kod w taki sposób, że niepoprawne wartości są oczyszczone i żadne błędy ani ostrzeżenia nie są generowane przez standardowe wykonanie twojego kodu. – Mike
w 'SQL Server' jest mała sztuczka' NULLIF() 'http://www.bennadel.com/blog/984-using-nullif-to-prevent-divide-by-zero-errors-in-sql .htm – Jaider