निम्न करने का एक अच्छा तरीका क्या है, जो f() को दो बार कॉल नहीं करता है?डिफ़ॉल्ट मान के साथ PHP असाइनमेंट
$x = f() ? f() : 'default';
निम्न करने का एक अच्छा तरीका क्या है, जो f() को दो बार कॉल नहीं करता है?डिफ़ॉल्ट मान के साथ PHP असाइनमेंट
$x = f() ? f() : 'default';
यह ठीक काम करने के लिए लगता है:
$x = f() or $x = 'default';
function f()
{
// conditions
return $if_something ? $if_something : 'default';
}
$x = f();
आह, अच्छा जवाब। मेरा मतलब था कि एफ() के लिए कुछ ऐसा होना चाहिए जिस पर हमारा नियंत्रण नहीं है और वास्तव में जिस तरह से यह मेरे लिए आया था, यह बिल्कुल एक समारोह नहीं था, लेकिन '$ _REQUEST ['foo']' इसलिए यह नहीं था एक टाइपिंग मुद्दे के रूप में दक्षता मुद्दा इतना है। – dreeves
आप इसे एक चर में सहेज सकते हैं। Testcase:
function test() {
echo 'here';
return 1;
}
$t = test();
$x = $t ? $t : 0;
echo $x;
+1 cuz मैं इसे पहले नहीं देखा था। साफ। –
+1 क्योंकि मैंने देखा नहीं है कि मेरी किसी भी पुस्तक में उपयोग किया गया है जो PHP 5.3 को कवर करता है। जानना बहुत अच्छा है। – Andrew