$array['bar'][] = 'foo';
कोई सूचना या त्रुटि नहीं लौटाती है क्योंकि कोई त्रुटि नहीं है। आप एक नई सरणी अनुक्रमणिका बना रहे हैं, और उसके भीतर एक और अनुक्रमणिका, और इसके लिए एक मूल्य असाइन कर रहे हैं। कथन का मतलब यही है। वापस करने में कोई त्रुटि नहीं है।
आप यदि किसी विशेष सरणी सूचकांक सेट नहीं है, तो आप array_key_exists उपयोग कर सकते हैं के लिए (http://php.net/manual/en/function.array-key-exists.php) व्यवहार करना चाहते हैं:।
if(array_key_exists('bar', $array)){
$array['bar'][] = 'foo';
} else {
// something else
}
कि अगर इस सवाल कार्यात्मक (यानी है है, तो आप की कोशिश कर रहे कुछ विशिष्ट पूरा करें)। यदि प्रश्न अधिक वैचारिक है - PHP एक वैरिएबल असाइनमेंट को त्रुटि के रूप में क्यों नहीं पढ़ता है:
PHP एक पंक्ति में एक चर को प्रारंभ करने और असाइन करने में सक्षम है, यानी $foo = 'bar'
। यह एक त्रुटि वापस नहीं करता है भले ही $foo
पहले परिभाषित नहीं किया गया था क्योंकि PHP पहले चर को प्रारंभ करता है। सरणी इंडेक्स के लिए एक ही विधि सच है। $array['foo'][] = 'bar'
कोई त्रुटि या नोटिस नहीं लौटाता है क्योंकि PHP सरणी अनुक्रमणिका को प्रारंभ कर रहा है जैसे कि यह एक चर होगा।
यह ठीक है कि यह कैसे काम करता है। – AbraCadaver
@AbraCadaver इस प्रकार एक धर्म शुरू होता है, केवल सवाल का पालन न करें। ओपी सवाल वैध है। आपका जवाब नहीं है। – Andrew
@ एंड्रयू: यह मजाकिया है, मैंने जवाब पोस्ट नहीं किया। – AbraCadaver