सरणी कुंजी मौजूद है, तो जाँच का उचित तरीका फ़ंक्शन है array_key_exists()
अंतर यह है कि जब आपके पास $_POST['variable'] = nullयह है कि इसका मतलब है कि कुंजी मौजूद है और भेजा गया था, लेकिन मूल्य शून्य था
दूसरा विकल्प वह है isset()जो यह जांच करेगा कि क्या सरणी कुंजी मौजूद है और यदि यह सेट किया गया है
अंतिम विकल्प का उपयोग करना है, empty()जो यह जांच करेगा कि क्या सेट होने पर सरणी कुंजी मौजूद है और यदि मान रिक्त नहीं है।
उदाहरण:
$arr = [
'a' => null,
'b' => '',
'c' => 1
];
array_key_exists('a', $arr); // true
isset($arr['a']); // false
empty($arr['a']); // true
array_key_exists('b', $arr); // true
isset($arr['b']); // true
empty($arr['b']); // true
array_key_exists('c', $arr); // true
isset($arr['c']); // true
empty($arr['c']); // false
आपके प्रश्न के बारे में
यदि मान भेजा गया था, तो यह जांचने का उचित तरीका है कि अनुरोध विधि की जाँच के साथ array_key_exists () का उपयोग किया जाए
if ($_SERVER['REQUEST_METHOD'] == 'POST' && array_key_exists('fromPerson', $_POST)
{
// logic
}
लेकिन वहाँ कुछ मामलों अपने तर्क पर निर्भर करता है, जहां कर रहे हैं isset()और empty()साथ ही अच्छा हो सकता है।
empty()है नहीं क्योंकि php में, स्ट्रिंग, विकल्प # 1 के लिए सही'0'करने के बराबर हैfalseऔर -empty()रिटर्नtrueके लिए झूठे के बराबर सभी मूल्यों । इसलिएempty, यदि मान होता तो कोड मुद्रण को छोड़ देता'0'। यदि आप खाली स्ट्रिंग को बाहर करना चाहते हैं, तो अगस्टस उत्तर देखें।