2012-12-11 35 views
9

मैं एक समारोह है कि एक सरणी देता है, और यानीphp में खाली सरणी लौट

foreach(function() as $val) 

foreach के बाद से सरणी मैं लौट रहा हूँ बयान करता है, तो की एक श्रृंखला में घोषित किया जाता है पारित कर दिया है, मैं एक वापस जाने के लिए की जरूरत है खाली सरणी अगर सभी अगर कथन का मूल्यांकन गलत है। क्या यह करने का यह सही तरीका है?

if (isset($arr)) 
    return $arr; 
else 
    return array(); 

उत्तर

11

मैं तो आप इसके बारे में चिंता करने की ज़रूरत नहीं है समारोह के सबसे ऊपर स्थित $arr = array(); घोषित करने की सिफारिश करेंगे।

यदि आप लौटने से पहले तुरंत चेक कर रहे हैं, तो मैं isset की अनुशंसा करता हूं। जिस तरह से आप foreach का उपयोग कर रहे हैं, एक सरणी लौटाई जा रही है। यदि $arr किसी संख्या पर सेट है, उदाहरण के लिए, तो यह अभी भी मान्य होगा। आपको is_array() भी जांचना चाहिए। उदाहरण के लिए:

if (isset($arr) && is_array($arr)) 
    return $arr; 
else 
    return array(); 

या बजाय एक लाइन में:

return (isset($arr) && is_array($arr)) ? $arr : array(); 

लेकिन, जैसा कि मैंने कहा, मैं बजाय बहुत शीर्ष पर सरणी घोषित करने की सिफारिश। यह आसान है और आपको इसके बारे में चिंता करने की ज़रूरत नहीं है।

+0

धन्यवाद! मैं शुरुआत में शीर्ष पर एक खाली सरणी घोषित करना चाहता था, इसलिए आप इसे कैसे करते हैं। – zhenming

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