<h1>求數組差集函數</h1> <ul> <li>函數只檢查了多維數組中的一維。能夠用 <code>array_diff($array1[0], $array2[0])</code> 檢查更深的維度。</li> <li> <code>u</code>:自定義函數比較,<code>a(association)</code>:同時比較<code>鍵</code>和<code>值</code>。</li> <li>自定義函數callable $value_compare_func必須返回一個小於零,等於零,或大於零的整數。其中返回零表明兩個數相等。</li> </ul>segmentfault
<h2>對比數組值的函數</h2> <hr> <h3>array_diff</h3> <ul><li>對比(===) <code>array1</code>,<code>array2</code>···的<code>值(value)</code>,返回在 <code>$array1</code> 中可是不在其餘 array 裏的值,鍵名保留不變。</li></ul>數組
array array_diff ( array $array1 , array $array2 [, array $... ] )
<h3>array_udiff</h3> <ul><li>用自定義函數比較 <code>$array1</code>, <code>$array2</code>···的<code>值(value)</code>,函數參數爲數組的<code>值</code>。返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。</li></ul>函數
array array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )
int value_compare_func(( mixed $a, mixed $b )) //該比較函數必須相應地返回一個小於,等於或大於 0 的整數。 #返回0,意味着兩個數相等,即值在兩個數組都出現了,因此等於0不返回值。 #根據value_compare_func($a, $b)的參數順序返回元素,如:value_compare_func($b, $ba),返回在$b不在$a的元素
<h2>對比數組鍵的函數</h2> <hr> <h3>array_diff_key</h3> <ul><li>對比(===) <code>array1</code>,<code>array2</code>···的<code>鍵(key)</code>,全部出如今 <code>$array1</code> 中可是不在其餘array中的<code>鍵(key)</code>的值。</li></ul>ui
array array_diff_key ( array $array1 , array $array2 [, array $... ] )
<h3>array_diff_ukey</h3> <ul><li>用自定義函數比較 <code>$array1</code>, <code>$array2</code>···的<code>鍵</code>,函數參數爲數組的<code>鍵</code>,鍵不一樣即返回元素。返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。</li></ul>3d
array array_diff_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
<h2>同時對比<code>鍵</code>和<code>值</code> </h2> <hr> <h3>array_diff_assoc</h3> <ul><li>比較 <code>$array1</code>, <code>$array2</code>···的<code>鍵(key)</code>和<code>值(value)</code>,返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。。</li></ul>code
array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )
<h3>array_diff_uassoc</h3> <ul><li>用自定義函數比較 <code>$array1</code>, <code>$array2</code>···的<code>鍵(key)</code>和<code>值(value)</code>,回調函數參數爲數組的<code>鍵</code>,鍵值都相同時不返回元素。返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。</li></ul>blog
array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
<h3>array_udiff_assoc</h3> <ul><li>用自定義函數比較 <code>$array1</code>, <code>$array2</code>···的<code>鍵(key)</code>和<code>值(value)</code>,回調函數參數爲數組的<code>值</code>,鍵值都相同時不返回元素。返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。</li></ul>索引
array array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func )
<h3>array_udiff_uassoc</h3> <ul><li>用自定義函數比較 <code>$array1</code>, <code>$array2</code>···的<code>鍵(key)</code>和<code>值(value)</code>,兩個函數參數分別爲數組的<code>鍵</code>/<code>值</code>。返回在<code>$array1</code>,不在其餘array的元素,保持鍵值關聯。</li></ul>ci
array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func , callable $key_compare_func )
<h1>求數組交集函數</h1> <ul><li>交集函數和差集函數的用法大同小異</li></ul>get
<h2>對比數組<code>值</code>的函數,不比較<code>鍵</code> </h2> <hr> <h3>array_intersect</h3> <ul><li>計算數組的交集</li></ul> <h3>array_uintersect</h3> <ul><li>計算數組的交集,用回調函數比較數據</li></ul> <h2>對比數組<code>鍵</code>的函數,不比較<code>值</code> </h2> <hr> <h3>array_intersect_key</h3> <ul><li>使用鍵名比較計算數組的交集</li></ul> <h3>array_intersect_ukey</h3> <ul><li>用回調函數比較鍵名來計算數組的交集</li></ul> <h2>同時對比數組<code>鍵</code>和<code>值</code>的函數</h2> <hr> <h3>array_intersect_assoc</h3> <ul><li>帶索引檢查計算數組的交集</li></ul> <h3>array_intersect_uassoc</h3> <ul><li>帶索引檢查計算數組的交集,用回調函數比較索引</li></ul> <h3>array_uintersect_assoc</h3> <ul><li>帶索引檢查計算數組的交集,用回調函數比較數組值</li></ul> <h3>array_uintersect_uassoc</h3> <ul><li>帶索引檢查計算數組的交集,用單獨的回調函數比較數據和索引</li></ul>