色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

arrayundiff php

array_udiff()是PHP中的一個(gè)數(shù)組函數(shù),用于比較兩個(gè)或多個(gè)數(shù)組元素,返回第一個(gè)數(shù)組中只存在于它自己的元素。array_udiff()通過(guò)回調(diào)函數(shù)來(lái)比較數(shù)組元素,通過(guò)自定義回調(diào)函數(shù)返回一個(gè)整數(shù)值來(lái)比較數(shù)組元素的不同之處。下面我們就來(lái)詳細(xì)了解一下array_udiff()函數(shù)。

舉個(gè)例子,我們來(lái)比較兩個(gè)數(shù)組:

$array1 = array('a' =>'apple', 'b' =>'banana', 'c' =>'pear');
$array2 = array('d' =>'apple', 'e' =>'banana', 'f' =>'orange');
function compare($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a >$b) ? 1 : -1;
}
$result = array_udiff($array1, $array2, 'compare');
print_r($result);

這里我們定義了兩個(gè)數(shù)組$array1和$array2,然后定義了一個(gè)名為compare的回調(diào)函數(shù),用于比較兩個(gè)數(shù)組元素。接下來(lái)我們調(diào)用array_udiff()函數(shù),傳入兩個(gè)數(shù)組和回調(diào)函數(shù)名稱,調(diào)用后會(huì)返回一個(gè)新的數(shù)組,包含在$array1中存在,但在$array2中不存在的元素。最后我們通過(guò)print_r()函數(shù)輸出結(jié)果。

輸出結(jié)果為:

Array
(
[c] =>pear
)

我們可以看到,最終結(jié)果只有一個(gè)數(shù)組元素'pear'。

如果沒(méi)有回調(diào)函數(shù),array_udiff()會(huì)默認(rèn)使用“===”來(lái)比較數(shù)組元素中絕對(duì)相等的關(guān)系。通常情況下,對(duì)于復(fù)雜類型的數(shù)組,我們需要自定義回調(diào)函數(shù)來(lái)比較數(shù)組元素。下面我們?cè)賮?lái)看一個(gè)例子。

$array1 = array(
array('name' =>'John', 'age' =>20),
array('name' =>'Mike', 'age' =>30),
array('name' =>'Peter', 'age' =>40)
);
$array2 = array(
array('name' =>'John', 'age' =>20),
array('name' =>'Mike', 'age' =>35),
array('name' =>'Mary', 'age' =>45)
);
function compare($a, $b)
{
if ($a['name'] === $b['name']) {
if ($a['age'] === $b['age']) {
return 0;
}
return ($a['age'] >$b['age']) ? 1 : -1;
}
return ($a['name'] >$b['name']) ? 1 : -1;
}
$result = array_udiff($array1, $array2, 'compare');
print_r($result);

這里我們定義了兩個(gè)二維數(shù)組$array1和$array2,每個(gè)數(shù)組都包含若干個(gè)關(guān)聯(lián)數(shù)組,每個(gè)關(guān)聯(lián)數(shù)組中包含'name'和'age'兩個(gè)元素。接著我們定義了一個(gè)名為compare的回調(diào)函數(shù),它的作用是比較兩個(gè)關(guān)聯(lián)數(shù)組中'name'和'age'兩個(gè)元素。然后我們調(diào)用array_udiff()函數(shù),將兩個(gè)數(shù)組和回調(diào)函數(shù)名稱作為參數(shù)傳入,調(diào)用后會(huì)返回一個(gè)新的數(shù)組,包含在$array1中存在,但在$array2中不存在的元素。最后我們通過(guò)print_r()函數(shù)輸出結(jié)果。

輸出結(jié)果為:

Array
(
[1] =>Array
(
[name] =>Mike
[age] =>30
)
[2] =>Array
(
[name] =>Peter
[age] =>40
)
)

我們可以看到,最終結(jié)果包含了在$array1中存在但在$array2中不存在的兩個(gè)關(guān)聯(lián)數(shù)組。

總結(jié)來(lái)說(shuō),array_udiff()函數(shù)是PHP中比較兩個(gè)或多個(gè)數(shù)組元素的常用函數(shù)之一,它通過(guò)自定義回調(diào)函數(shù)來(lái)比較數(shù)組元素的不同之處。在比較復(fù)雜類型的數(shù)組時(shí),我們需要定義自己的回調(diào)函數(shù)來(lái)實(shí)現(xiàn)元素的比較。在實(shí)際應(yīng)用中,array_udiff()一般與其他數(shù)組函數(shù)一起使用,用于處理有關(guān)的數(shù)組操作。