Betrachten Sie diese Abfrage
isTouch = document.createTouch !== undefined
Ich würde gerne wissen, ob wir eine ähnliche Anweisung in PHP haben, nicht isset (), sondern buchstäblich nach einem undefinierten Wert suchen, so etwas wie:
$isTouch != ""
Gibt es etwas Ähnliches wie oben in PHP?
Antworten:
Sie können verwenden -
$isTouch = isset($variable);
Es wird zurückgegeben,
true
wenn das$variable
definiert ist. Wenn die Variable nicht definiert ist, wird sie zurückgegebenfalse
.Wenn Sie überprüfen wollen
false
,0
etc können Sie dann verwendenempty()
-$isTouch = empty($variable);
empty()
funktioniert für -quelle
isset()
gibt immer bool zurück.true
oderfalse
. Das Casting ist also nicht nötig.empty()
das false zurückgibt, wenn es sich um eine leere Zeichenfolge handelt.isset()
gibt true zurück, wenn es sich um eine leere Zeichenfolge handelt. Auch leer führt eine interne Isset-Prüfung durch.$isTouch = (bool) $variable;
wird das Gleiche tunisset()
und ist vielleicht ein bisschen besser, da es so funktioniertempty()
.Ein anderer Weg ist einfach:
if($test){ echo "Yes 1"; } if(!is_null($test)){ echo "Yes 2"; } $test = "hello"; if($test){ echo "Yes 3"; }
Wird zurückkehren :
"Yes 3"
Am besten verwenden Sie isset (), andernfalls kann ein Fehler wie "undefined $ test" auftreten.
Sie können es so machen:
if( isset($test) && ($test!==null) )
Sie haben keinen Fehler, da die erste Bedingung nicht akzeptiert wird.
quelle
$test!==null
ohne Klammern verwenden, was wird dann passieren? Wird es einen Fehler geben?Um zu überprüfen, ob die Variable gesetzt ist, müssen Sie die Funktion isset verwenden.
$lorem = 'potato'; if(isset($lorem)){ echo 'isset true' . '<br />'; }else{ echo 'isset false' . '<br />'; } if(isset($ipsum)){ echo 'isset true' . '<br />'; }else{ echo 'isset false' . '<br />'; }
Dieser Code wird gedruckt:
isset true isset false
Lesen Sie mehr unter https://php.net/manual/en/function.isset.php
quelle
Sie können verwenden -
Ternärer Oprator, um den von POST / GET eingestellten Wetterwert zu überprüfen oder nicht
$value1 = $_POST['value1'] = isset($_POST['value1']) ? $_POST['value1'] : ''; $value2 = $_POST['value2'] = isset($_POST['value2']) ? $_POST['value2'] : ''; $value3 = $_POST['value3'] = isset($_POST['value3']) ? $_POST['value3'] : ''; $value4 = $_POST['value4'] = isset($_POST['value4']) ? $_POST['value4'] : '';
quelle
Der JavaScript-Operator 'strict not same' (
!==
) im Vergleich zuundefined
führt nicht zufalse
on-null
Werten.var createTouch = null; isTouch = createTouch !== undefined // true
Um ein gleichwertiges Verhalten in PHP zu erreichen, können Sie überprüfen, ob der Variablenname in den Schlüsseln des Ergebnisses von vorhanden ist
get_defined_vars()
.// just to simplify output format const BR = '<br>' . PHP_EOL; // set a global variable to test independence in local scope $test = 1; // test in local scope (what is working in global scope as well) function test() { // is global variable found? echo '$test ' . ( array_key_exists('test', get_defined_vars()) ? 'exists.' : 'does not exist.' ) . BR; // $test does not exist. // is local variable found? $test = null; echo '$test ' . ( array_key_exists('test', get_defined_vars()) ? 'exists.' : 'does not exist.' ) . BR; // $test exists. // try same non-null variable value as globally defined as well $test = 1; echo '$test ' . ( array_key_exists('test', get_defined_vars()) ? 'exists.' : 'does not exist.' ) . BR; // $test exists. // repeat test after variable is unset unset($test); echo '$test ' . ( array_key_exists('test', get_defined_vars()) ? 'exists.' : 'does not exist.') . BR; // $test does not exist. } test();
In den meisten Fällen
isset($variable)
ist angemessen. Das ist aquivalent zuarray_key_exists('variable', get_defined_vars()) && null !== $variable
. Wenn Sie nur verwenden,null !== $variable
ohne die Existenz vorab zu überprüfen, werden Sie Ihre Protokolle mit Warnungen durcheinander bringen, da dies ein Versuch ist, den Wert einer undefinierten Variablen zu lesen .Sie können jedoch eine undefinierte Variable ohne Warnung auf eine Referenz anwenden:
// write our own isset() function function my_isset(&$var) { // here $var is defined // and initialized to null if the given argument was not defined return null === $var; } // passing an undefined variable by reference does not log any warning $is_set = my_isset($undefined_variable); // $is_set is false
quelle
Mit der PHP- Funktion isset () können Sie testen, ob eine Variable gesetzt ist oder nicht. Das isset () gibt FALSE zurück, wenn eine Variable getestet wird, die auf NULL gesetzt wurde. Beispiel:
<?php $var1 = ''; if(isset($var1)){ echo 'This line is printed, because the $var1 is set.'; } ?>
Dieser Code gibt "Diese Zeile wird gedruckt, weil $ var1 gesetzt ist."
Lesen Sie mehr unter https://stackhowto.com/how-to-check-if-a-variable-is-undefined-in-php/
quelle
if(isset($variable)){ $isTouch = $variable; }
ODER
if(!isset($variable)){ $isTouch = "";// }
quelle