Considérez cette déclaration jquery
isTouch = document.createTouch !== undefined
Je voudrais savoir si nous avons une déclaration similaire en PHP, n'étant pas isset () mais vérifiant littéralement une valeur indéfinie, quelque chose comme:
$isTouch != ""
Existe-t-il quelque chose de similaire à ce qui précède en PHP?
Vous pouvez utiliser -
$isTouch = isset($variable);
Il va stocker true
si $variable
est défini sinon false
. Si nécessaire, inversez simplement le !
.
Remarque: Renvoie VRAI si var existe et a une valeur autre que NULL, FALSE sinon.
Ou si vous voulez vérifier false
, 0
etc également, utilisez empty()
-
$isTouch = empty($variable);
empty()
travaille pour -
Une autre façon est simplement:
if($test){
echo "Yes 1";
}
if(!is_null($test)){
echo "Yes 2";
}
$test = "hello";
if($test){
echo "Yes 3";
}
Reviendra:
"Yes 3"
Le meilleur moyen est d'utiliser isset (), sinon vous pouvez avoir une erreur comme "$ test indéfini".
Vous pouvez le faire comme ça:
if( isset($test) && ($test!==null) )
Vous n'aurez aucune erreur car la première condition n'est pas acceptée.
Pour vérifier si la variable est définie, vous devez utiliser la fonction isset.
$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 />';
}
ce code sera imprimé:
isset true
isset false
pour en savoir plus, consultez https://php.net/manual/fr/function.isset.php
Vous pouvez utiliser -
Opérateur ternaire pour vérifier la valeur météo définie par POST/GET ou quelque chose comme ça
$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'] : '';
L'opérateur 'strict not equal' (!==
) de JavaScript comparé à undefined
ne pas donne false
sur les valeurs null
.
var createTouch = null;
isTouch = createTouch !== undefined // true
Pour obtenir un comportement équivalent en PHP, vous pouvez vérifier si le nom de la variable existe dans les clés du résultat de 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();
Dans la plupart des cas, isset($variable)
est approprié. C'est l'équivalent de array_key_exists('variable', get_defined_vars()) && null !== $variable
. Si vous utilisez simplement null !== $variable
sans vérification préalable de son existence, vous allez gâcher vos journaux avec des avertissements, car il s’agit d’une tentative de lecture du value d’une variable non définie.
Cependant, vous pouvez appliquer une variable non définie à une référence sans aucun avertissement:
// 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
if(isset($variable)){
$isTouch = $variable;
}
OR
if(!isset($variable)){
$isTouch = "";//
}