जावास्क्रिप्ट की 'सख्त बराबर नहीं' ऑपरेटर ( !==) के साथ तुलना पर undefinedहै नहीं में परिणाम falseपर nullमान।
var createTouch = null;
isTouch = createTouch !== undefined
PHP में एक समान व्यवहार को प्राप्त करने के लिए, आप जाँच सकते हैं कि परिणाम के कुंजियों में चर नाम मौजूद है या नहीं get_defined_vars()।
const BR = '<br>' . PHP_EOL;
$test = 1;
function test()
{
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
$test = null;
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
$test = 1;
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.' ) . BR;
unset($test);
echo '$test ' . ( array_key_exists('test', get_defined_vars())
? 'exists.' : 'does not exist.') . BR;
}
test();
ज्यादातर मामलों में, isset($variable)उपयुक्त है। यह जलीय है array_key_exists('variable', get_defined_vars()) && null !== $variable। यदि आप null !== $variableअस्तित्व के लिए बिना पूर्व- उपयोग के उपयोग करते हैं, तो आप अपने लॉग को चेतावनी के साथ गड़बड़ कर देंगे क्योंकि यह एक अपरिभाषित चर के मूल्य को पढ़ने का प्रयास है ।
हालाँकि, आप बिना किसी चेतावनी के एक अपरिभाषित चर को संदर्भ में लागू कर सकते हैं:
function my_isset(&$var)
{
return null === $var;
}
$is_set = my_isset($undefined_variable);