2010-07-01 8 views
6

इंडेक्स सेट नहीं होने पर $ _GET वापसी क्या करती है? $ False पर आईडी और अगर यह नहीं है, सेट - (php पुस्तिका के बारे में $ _GET में कुछ भी नहीं मिल सका।)

मैं यह लिखा जाँच करने के लिए, अगर $ _GET [ 'आईडी'] isset:

<?php $id = (isset($_GET['id'])) ? $_GET['id'] : false ?> 

उत्तर

14

$ _GET सिर्फ एक साधारण सरणी है, इसलिए यह किसी अन्य सरणी के समान ही व्यवहार करता है।

इसका मतलब है, यह परिवर्तनीय को न्यूल लौटाएगा और जब आप एक गैर-मौजूदा इंडेक्स को कॉल करते हैं तो "अपरिभाषित अनुक्रमणिका" नोटिस बढ़ाएंगे।

केवल एक चीज आप $ _GET के साथ वह यह है कि है के बारे में पता करने की आवश्यकता है शामिल असुरक्षित (उपयोगकर्ता के परिवर्तनीय) डेटा

+0

हाँ, मुझे इसके बारे में पता है इसलिए मैं एसक्यूएल के लिए तैयार कथन का उपयोग करता हूं क्योंकि उस आईडी को क्वेरी से मिलता है। धन्यवाद! :) – Rihards

0

यदि सूचकांक सेट नहीं है, तो के भीतर उस सूचकांक पर isset() चला रहा है।

3

अनसेट अनुक्रमित Null मूल्य की है। उन्हें एक्सेस करने के परिणामस्वरूप एक नोटिस उठाया जाएगा (जब तक कि आपका त्रुटि स्तर नोटिस निगलने के लिए सेट न हो)।

+4

यह उल्लेखनीय है कि जारीकर्ता() फ़ंक्शन के बजाए एक भाषा निर्माण है, और यही वजह है कि जारीकर्ता() के भीतर '$ _GET [' nonexistent_key '] दर्ज करना नोटिस को उठाया नहीं जाता है। – Hammerite

1

वहाँ के मैनुअल में एक उदाहरण है: PHP: $_GET

उदाहरण स्क्रिप्ट के प्रासंगिक हिस्सा है:

if(isset($_GET["a"])) echo "a is set\n"; 

स्क्रिप्ट का वह भाग बाहर प्रिंट "एक सेट है" जब a यूआरएल के माध्यम से एक पैरामीटर के रूप पारित कर दिया है। http://path/to/script.php?a

0

$_GET एक superglobalarray है:

इस प्रकार, यह सरणी कुंजी तक पहुँचने के लिए नियमों का पालन करती:

एक सरणी कुंजी जो निर्धारित नहीं किया गया उपयोग करने के लिए प्रयास कर रहा है रूप में ही है किसी भी अन्य अपरिभाषित चर का उपयोग: E_NOTICE -level त्रुटि संदेश जारी किया जाएगा, और परिणाम NULL होगा।

संबंधित मुद्दे