मैं call_user_func_array के साथ एक फ़ंक्शन कॉल करना चाहता हूं लेकिन मैंने देखा कि यदि कोई तर्क फ़ंक्शन परिभाषा में एक संदर्भ है और call_user_func_array में एक साधारण मान है, तो निम्न चेतावनी प्रकट होती है: चेतावनी: परीक्षण करने के लिए पैरामीटर 1() होने की उम्मीद है संदर्भ, मूल्य दियाPHP कैसे पता चलेगा कि एक चर संदर्भ है?
यहाँ मुझे क्या करना कोशिश कर रहा हूँ का एक सरल उदाहरण है:
<?php
$a = 0;
$args = array($a);
function test(&$a) {
$a++;
}
$a = 0;
call_user_func_array('test', $args);
?>
मेरे सवाल यह है: मैं कैसे पता कर सकते हैं अगर एक मूल्य (इस मामले में $ की आर्ग पहला मान) एक संदर्भ है या नहीं?
सभी मैं देख अगर दो सरणियों/वस्तुओं/चर संशोधित और अगर जाँच करके एक ही स्मृति क्षेत्र को इंगित कर रहे कार्यों की जांच करने के लिए है दूसरा भी संशोधित है। मेरे कोड में (उदाहरण नहीं, असली एक), मेरे पास केवल तर्कों की सरणी है और मैं जानना चाहता हूं कि एक तर्क एक संदर्भ है या नहीं। इस तरह, अगर कॉलबैक फ़ंक्शन एक संदर्भ चाहता है तो मैं एक त्रुटि फेंक सकता हूं और सरणी में एक साधारण मान होता है। –
यह पहले से ही एक चेतावनी ट्रिगर करता है, जो डेवलपर्स के लिए है। आप किस तरह की त्रुटि चाहते हैं? यदि आप – cmbuckley