2011-01-28 9 views

उत्तर

22

पीएचपी 5.3 में, आप भी कर सकते हैं:

$a = f() ?: 'default'; 

the manual on ?: operator देखें।

+3

+1 cuz मैं इसे पहले नहीं देखा था। साफ। –

+1

+1 क्योंकि मैंने देखा नहीं है कि मेरी किसी भी पुस्तक में उपयोग किया गया है जो PHP 5.3 को कवर करता है। जानना बहुत अच्छा है। – Andrew

6

यह ठीक काम करने के लिए लगता है:

$x = f() or $x = 'default'; 
1
function f() 
{ 
    // conditions 
    return $if_something ? $if_something : 'default'; 
} 

$x = f(); 
+0

आह, अच्छा जवाब। मेरा मतलब था कि एफ() के लिए कुछ ऐसा होना चाहिए जिस पर हमारा नियंत्रण नहीं है और वास्तव में जिस तरह से यह मेरे लिए आया था, यह बिल्कुल एक समारोह नहीं था, लेकिन '$ _REQUEST ['foo']' इसलिए यह नहीं था एक टाइपिंग मुद्दे के रूप में दक्षता मुद्दा इतना है। – dreeves

0

आप इसे एक चर में सहेज सकते हैं। Testcase:

function test() { 
     echo 'here'; 
     return 1; 
} 

$t = test(); 
$x = $t ? $t : 0; 
echo $x; 
1
$x = ($result = foo()) ? $result : 'default'; 

test

+0

यह काम करता है, लेकिन ऐसा लगता है कि इसे बिना किसी अस्थायी चर के साथ अधिक साफ किया जा सकता है। – dreeves