PHP की बात करते समय, और पूछें कि:
- का एक सेट "अगर" s और "और भारतीय विदेश सेवा",
- एक "अगर" "या" एड की स्थिति का एक सेट (मूल पोस्ट विवरण के रूप में), या
- "in_array के उपयोग के साथ "एक पर-फ्लाई निर्माण सरणी के साथ,
बेहतर है,
एक है कि PHP भाषा ध्यान में रखना चाहिए" स्विच "बयान ऐसी स्थितियों के लिए बनाया गया एक विकल्प है और एक बेहतर जवाब हो सकता है । (हालांकि पोस्टर का उदाहरण हमें दो समाधानों की तुलना करने के लिए प्रेरित करता है, वास्तविक प्रश्न शीर्षक में PHP विवरणों के विरुद्ध in_array पर विचार करने के लिए कहा जाता है, इसलिए मुझे लगता है कि यह उचित खेल है)।
पोस्टर के उदाहरण में, तो, मैं बजाय सिफारिश करेंगे: इस तरह के लिए "या" एक अल्पविराम के रूप में
switch ($var)
{ case 'test1': case 'test2': case 'test3': case 'test4':
echo "We have a good value"; break;
default:
echo "We do not have a good value";
}
मैं मामलों में गैर आदिम निर्माणों, के एक जोड़े के लिए अनुमति दी पीएचपी कामना करते हैं। लेकिन उपर्युक्त यह है कि PHP के डिजाइनरों को इसे संभालने का सबसे स्पष्ट तरीका माना जाता है। और यह अन्य दो विकल्पों की तुलना में निष्पादन समय पर अधिक कुशल प्रतीत होता है।
जब तक मैं एक इच्छा सूची के बारे में बात कर रहा हूं, एसक्यूएल में पाया गया "आईएन" पोस्टर की उदाहरण स्थिति के लिए भी स्पष्ट होगा।
यह सोच शायद ऐसी परिस्थितियों के लिए "in_array" का उपयोग करने वाले लोगों की ओर ले जाती है, लेकिन डेटा संरचना बनाने के लिए यह दुर्भाग्यपूर्ण है और फिर उस डेटा संरचना के लिए डिज़ाइन की गई भविष्यवाणी का उपयोग करें उस ओवरहेड के बिना बस इसे कहने का एक तरीका।
स्रोत
2015-06-21 20:12:21
विषय बंद थोड़ा - क्या आपने कुछ मिनट पहले ही अपना अन्य प्रश्न हटा दिया था, या क्या मैं पागल हो रहा हूं? – Greg