2009-11-27 8 views
10

रिटर्न अगर मैं इस कोडचेक पीएचपी समारोह अशक्त या कुछ भी नहीं

$return = $ep->$method($params); 
if ($return === null) { 
    throw new Exception('Endpoint has no return value'); 
} 
return $return; 

वहाँ एक तरीका है कि null वापस आती है और एक विधि है कि कुछ भी वापस नहीं करता है के बीच अंतर करने का कोई तरीका है है?

+0

इस काम नहीं कर रहा 'अगर ($ वापसी ===" ") है {}'? – KeepMove

उत्तर

29

यह संभव नहीं है। जब कोई रिटर्न वैल्यू सेट नहीं होता है तो फ़ंक्शन स्वचालित रूप से शून्य हो जाता है।

+3

कुछ भी असंभव नहीं है :) – Pasta

+31

क्षमा करें, सही जवाब है। हां, आप PHP स्रोत कोड को संशोधित और पुन: संकलित कर सकते हैं। : पी – William

0

आप फ़ंक्शन को एक और मूल्य वापस कर सकते हैं? बूलियन संभवतः संभव है, और उस या शून्य के लिए जाँच करें।

+0

मैं हमेशा उन कार्यों को लिखने वाला नहीं हूं जिन्हें –

1

यदि फ़ंक्शन कुछ भी वापस नहीं करता है, तो आपको इसके वापसी मूल्य का परीक्षण नहीं करना चाहिए। आपको पता होना चाहिए कि कौन से कार्यों से कुछ या कुछ भी वापस करने की उम्मीद नहीं है - भले ही आप उन्हें लिखने वाले व्यक्ति न हों।

+1

कहा जाता है आम तौर पर, हां, लेकिन इस मामले में फ़ंक्शन गतिशील रूप से देखा जाता है। –

+0

वैसे तो अन्य उत्तरों के प्रकाश में और जानकारी प्रदान की गई एकमात्र समाधान प्रदान करता है, मैं PHP का अपना कोड पार्स कर रहा हूं और फ़ंक्शन घोषणा के अंदर "वापसी" कीवर्ड की तलाश कर रहा हूं। – Rolf

0

PHP7 ’ रों वापसी प्रकार घोषणा सुविधा के साथ:

function a(): void { 
    return null; // :(
} 

function b(): void { 
    // :) 
} 

function c(): void { 
    return; // :) 
} 
संबंधित मुद्दे