Ich werde das umformulieren und erneut fragen, abgestimmt zu schließen.Ausrufezeichen vor ganzzahliger Variable php
Antwort
Der! -Operator ist der nicht Operator von Boolean Algebra. PHP versucht, dynamische Instanziierung von Variablen zu ermöglichen.
In Ihrem Fall würde !$a>0
"(nicht $ a)> 0" ergeben. Die zweite wäre !($a>0)
würde das Ergebnis von $a>0
verhandeln.
Beide Wege sind technisch gut (und könnte mehr Sinn als die anderen). Wenn Sie wirklich vermeiden wollen nicht nicht-Zahlen zu verhandeln, nur überprüfen, was Sie haben:
if (is_int($a) && !($a > 0)) {
Ich bin mir nicht sicher über den 'is_int()' Ansatz. Wenn Daten völlig falsch sind ("foo"), wird PHP selbst einen Fehler aufgrund des "int" -Typhinweises ausgeben. In anderen Fällen akzeptiert die Funktion keine Werte mehr, die sonst gültig wären ("123"). –
Sie brauchen nur eine sehr gute Modellierung. Wie andere gezeigt haben, muss die Person, die für die Definition der IF zuständig ist, nur gut in PHP sein. Abhängig davon, welche Logik dort implementiert werden muss, ist es Sache des Codierers, ob er eine separate Logik benötigt oder nicht, da $ variable> Zahl immer "wahr" oder "falsch" zurückgibt, schau auf die Implementierung von Michail Hirschler, es ist ein sehr gut.
- 1. Was bewirkt ein Ausrufezeichen (!) Vor einer Objektreferenzvariablen?
- 2. Klassenname vor Variable in PHP Funktion Argument
- 3. Formatieren ganzzahliger Wert Smarty
- 4. Was bedeutet das Ausrufezeichen in PHP?
- 5. Was bewirkt das Ausrufezeichen vor dem Klassenpfad in ProGuard?
- 6. Was ist der Zweck von zwei Ausrufezeichen vor einer Variablen?
- 7. Einzelnes Ausrufezeichen in Kotlin
- 8. ganzzahliger Ausdruck erwartet - shell scripting
- 9. bezüglich Operators/ganzzahliger Wert
- 10. Scala: Generischer ganzzahliger Rückgabetyp?
- 11. Runde mit ganzzahliger Division
- 12. Nicht ganzzahliger ULP-Fehler?
- 13. Wert vor Variable
- 14. ein Strich vor Variable
- 15. PHP-Zeile Navigationstaste Schalter löscht immer Variable vor dem Ausführen
- 16. PHP: Richtiger Weg, Variable vor der Verwendung in Schleife
- 17. Muss ich eine Variable vor der Initialisierung in PHP-Konstruktor
- 18. Egit - Ausrufezeichen auf Ordner
- 19. Ausrufezeichen auf Facebook
- 20. Ruby Beispiel mit Ausrufezeichen
- 21. Ausrufezeichen auf .xlsm Datei
- 22. Ausrufezeichen in VB.NET
- 23. Regex Übereinstimmung Ausrufezeichen Java
- 24. Ausrufezeichen in table.column = 0
- 25. Ausrufezeichen in Prologs
- 26. Schneller ganzzahliger Logarithmus für Spezialfall
- 27. Anzeigen ganzzahliger Werte auf SliderRow
- 28. PHP - Variable interne Variable?
- 29. Tkinter Scale Widget mit nicht ganzzahliger Auflösung
- 30. Variable 'Opts' referenziert vor Zuweisung
Du meinst genau das Gegenteil 'if ($ a <= 0) {'? – Koen
Ich weiß, dass ich nicht der klügste Typ bin, aber ich finde deinen Code verwirrend. Ich frage mich, ob du mit einer Ausnahmesituation aus PHP umgehen willst (Null, leere Strings, Nullen, die sich als falsch verhalten).). –
Ich stimme für das Schließen dieser Frage als Off-Topic, weil OP explizit darum gebeten hat. –