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

php arrayunique

林雅南1年前8瀏覽0評論

今天我們來說一說PHP中的一個非常實用的函數(shù)——array_unique()。

array_unique()函數(shù)可以用于去除數(shù)組中重復(fù)的值,將所有重復(fù)的值保留一次,返回一個新的數(shù)組。

下面我們來看看如何使用array_unique()函數(shù)。

$colors = array("red", "green", "blue", "red", "yellow", "green");
$new_colors = array_unique($colors);
print_r($new_colors);

以上代碼將輸出:

Array
(
[0] =>red
[1] =>green
[2] =>blue
[4] =>yellow
)

我們可以看到,$new_colors數(shù)組已經(jīng)去掉了重復(fù)的"red"和"green"。

執(zhí)行array_unique()函數(shù)時,函數(shù)會比較數(shù)組中每一個值的類型,并且保留相同值的第一個出現(xiàn)的鍵名。

下面我們添加一個關(guān)聯(lián)數(shù)組,來更好地了解array_unique()函數(shù)的行為。

$person = array(
"name" =>"John",
"age" =>30,
"name2" =>"Tom",
"age2" =>30
);
$new_person = array_unique($person);
print_r($new_person);

執(zhí)行以上代碼時,將會得到錯誤提示“Warning: array_unique() expects parameter 1 to be array, array given in...”。

為什么會出現(xiàn)這種錯誤呢?原因是array_unique()函數(shù)只能用于處理普通數(shù)組,無法處理關(guān)聯(lián)數(shù)組。但我們可以先將關(guān)聯(lián)數(shù)組使用array_values()函數(shù)轉(zhuǎn)換成普通數(shù)組,再使用array_unique()函數(shù)。

$person = array(
"name" =>"John",
"age" =>30,
"name2" =>"Tom",
"age2" =>30
);
$new_person = array_unique(array_values($person));
print_r($new_person);

以上代碼將會輸出:

Array
(
[0] =>John
[1] =>30
[2] =>Tom
)

現(xiàn)在,$new_person數(shù)組已經(jīng)去掉了重復(fù)的"30"。

為了更好地體會array_unique()函數(shù),我們再來展示一段關(guān)于多維數(shù)組的代碼。

$people = array(
array("name" =>"John", "age" =>30),
array("name" =>"Tom", "age" =>30),
array("name" =>"John", "age" =>30)
);
$unique_people = array_map("unserialize", array_unique(array_map("serialize", $people)));
print_r($unique_people);

以上代碼將會輸出:

Array
(
[0] =>Array
(
[name] =>John
[age] =>30
)
[1] =>Array
(
[name] =>Tom
[age] =>30
)
)

我們可以看到,$unique_people數(shù)組已經(jīng)去掉了重復(fù)的"name" =>"John", "age" =>30。

總的來說,array_unique()函數(shù)是一個非常實用的函數(shù),可以用于過濾掉數(shù)組中重復(fù)的值。但需要注意的是,它只能用于處理普通數(shù)組,無法用于關(guān)聯(lián)數(shù)組。