摘要:注意鍵名保持不變。數據的比較是用進行的。如果認為第一個參數小于,等于,或大于第二個參數時必須分別返回一個小于零,等于零,或大于零的整數。這和不同,后者使用了內部函數來比較數據。
array_udiff,在php的官網文檔里是這么解釋的
(PHP 5)
array_udiff — 用回調函數比較數據來計算數組的差集
說明
array array_udiff ( array $array1 , array $array2 [, array $ ... ], callable $data_compare_func ) array_udiff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保持不變。數據的比較是用 data_compare_func 進行的。如果認為第一個參數小于,等于,或大于第二個參數時必須分別返回一個小于零,等于零,或大于零的整數。這和 array_diff() 不同,后者使用了內部函數來比較數據。
個人認為這個解釋很模糊,第三個參數或者說匿名函數參數返回的結果會對整個函數返回的結果有什么影響?
在查過資料后做個總結:
所有的數組參數會進行比較, 比如$array1, $array2兩個數組比較,篩選出位于$array1而不屬于$array2中數組元素, 如果第三個參數返回的結果是0或者-1,那么返回的結果里就不會包含位于第一個數組中的元素,如果返回的是1, 則會包含位于第一個數組中的元素。
例:
$arr1 = array("cat","mouse","horse"); $arr2 = array("cat","mouse"); print_r(array_udiff($arr1,$arr2,function($a, $b){return 0;}));
此時返回的結果就會是array(),空數組,假如return 1,那么返回的就是array("cat","mouse","horse")
$arr1 = array("cat","mouse","horse"); $arr2 = array("cat","mouse"); print_r(array_udiff($arr1,$arr2,function($a, $b){return ($a==$b)?0:1;}));
這個時候就只會在兩個數組不同的時候輸出$arr1中的元素,這就達到了從數組$arr1中剔除與$arr2中相同的元素
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20788.html
摘要:求數組差集函數函數只檢查了多維數組中的一維。自定義函數必須返回一個小于零,等于零,或大于零的整數。用自定義函數比較的值,函數參數為數組的值。 求數組差集函數 函數只檢查了多維數組中的一維。可以用 array_diff($array1[0], $array2[0]) 檢查更深的維度。 u:自定義函數比較,a(association):同時比較鍵和值。 自定義函數callable $v...
摘要:源碼年來都沒有動手跑一跑內置的函數。這一跑才發現平時自鳴得意的那些算法是有原生實現的,頓時有一種啪啪啪被打臉的感覺。希望亡羊補牢,為時不晚吧。下面是從里摘抄的歸納對比片段,希望對你有所啟發。 Demo源碼 3年來都沒有動手跑一跑PHP內置的Array函數。 這一跑才發現平時自鳴得意的那些算法是有原生實現的,頓時有一種啪啪啪被打臉的感覺。 希望亡羊補牢,為時不晚吧。 下面是從Demo里摘...
摘要:我們可以做一些小改進將的拋出異常代碼挪入父類屬于最小單位。完整代碼當我們需要在某個子類,實現個性化的業務邏輯時,組合模式的缺陷之一正在顯現出來簡化的前提是所有的類都繼承同一個基類,簡化優點有時是以降低對象安全為代價。 開篇 如果你注意了目錄,會知道:組合是一個新的開始。在系統代碼設計的過程中,我們通過繼承來組織代碼,父類與子類,實質上對應了業務的整體規范與具體需求。所以,我們需要將類按...
摘要:獲取元素數量獲取數組元素總數獲取所有的鍵獲取數組所有鍵組成的數組。遍歷數組元素獲取數組當前元素。數組指針前移一步。數組指針指向最后一個元素。其他數組操作反轉數組。隨機取出數組元素。對數組的所有值求和。 這幾天工作之余整理和分類了PHP 中常用的數組相關的函數。如有錯誤和遺漏,請留言指正! 數組函數整理 創建數組函數 array array ([ mixed $... ] ):創建數組...
摘要:文章來自原文歡迎來到給開發者的源碼系列的第二部分。是在內部代表任意一個變量的定義。這種情況下函數會拋出警告,而此函數馬上返回會返回給的用戶層代碼。原因是,是少數通過而不是擴展定義的函數。下一部分下一部分會再次發表在。 文章來自:http://www.hoohack.me/2016/02/10/understanding-phps-internal-function-definitio...
閱讀 1820·2021-11-23 09:51
閱讀 927·2021-10-08 10:05
閱讀 3421·2021-09-26 09:55
閱讀 1030·2021-09-22 15:21
閱讀 1626·2021-09-09 09:33
閱讀 1237·2019-08-30 15:56
閱讀 1275·2019-08-30 15:55
閱讀 958·2019-08-30 13:19