php - Peculiar behavior of array_udiff? -


मुझे निम्न पीएचपी स्क्रिप्ट मिल गई है:

  & lt;? Php फ़ंक्शन filt ( $ K, $ l) {if ($ k === $ l) {var_dump ("मान्य:"। $ K "-"। $ L); वापसी 0; } वापसी 1; } $ A6 = सरणी (7, 9, 3, 33); $ A7 = सरणी (2, 9, 3, 33); $ U = सरणी_उद्फीफ ($ a6, $ a7, "filt"); var_dump ($ यू); ? & Gt;   

निम्न आउटपुट के साथ:

  स्ट्रिंग 'वैध: 3-3' (लम्बाई = 10) सरणी 0 = & gt; इंट 7 1 = & gt; इंट 9 3 = & gt; इंट 33   

जैसा कि मुझे पता है, array_udiff को बराबर मानों को डंप करना चाहिए और पहले सरणी से केवल भिन्न मान देना चाहिए। क्या समस्या यहाँ लगता है? मैं विंडोज 7 पर WampServer संस्करण 2.2 चलाता हूँ। Php संस्करण: 5.3.9।

आप वापस नहीं जा रहे हैं सभी आवश्यक मान (जैसे -1, 0, 1)। देखें:

  $ a6 = सरणी (7, 9, 3, 33); $ A7 = सरणी (2, 9, 3, 33); $ U = array_udiff ($ a6, $ a7, फ़ंक्शन ($ k, $ l) {वापसी $ k & gt; $ l? 1: ($ k & lt; $ l? -1: 0);}); print_r ($ यू);    

Comments