在PHP中,我們常常需要對(duì)數(shù)組進(jìn)行處理。有時(shí)候,我們需要確保數(shù)組中的元素不重復(fù)。這就是array unique的作用。本文將會(huì)詳細(xì)講解array unique的使用方法。
array unique函數(shù)的作用非常簡(jiǎn)單,它會(huì)去除數(shù)組中重復(fù)的元素,返回一個(gè)唯一值的新數(shù)組。下面是一個(gè)簡(jiǎn)單的示例:
```php
$array = array('a', 'b', 'c', 'a', 'd', 'c');
$newArray = array_unique($array);
print_r($newArray);
```
輸出結(jié)果為:
```
Array
(
[0] =>a
[1] =>b
[2] =>c
[4] =>d
)
```
在上面的例子中,原始數(shù)組有兩個(gè)a和兩個(gè)c,但是,當(dāng)使用array unique函數(shù)對(duì)其進(jìn)行去重后,只剩下了一個(gè)a和一個(gè)c。
我們還可以使用array unique函數(shù)對(duì)關(guān)聯(lián)數(shù)組進(jìn)行去重。下面是示例代碼:
```php
$array = array(
array('name' =>'Tom', 'age' =>20),
array('name' =>'Jerry', 'age' =>22),
array('name' =>'Tom', 'age' =>20),
array('name' =>'Bob', 'age' =>25),
);
$newArray = array_unique($array, SORT_REGULAR);
print_r($newArray);
```
輸出結(jié)果為:
```
Array
(
[0] =>Array
(
[name] =>Tom
[age] =>20
)
[1] =>Array
(
[name] =>Jerry
[age] =>22
)
[3] =>Array
(
[name] =>Bob
[age] =>25
)
)
```
在上面的例子中,我們對(duì)一個(gè)包含多個(gè)關(guān)聯(lián)數(shù)組的數(shù)組進(jìn)行去重。僅僅有name為Tom,age為20的關(guān)聯(lián)數(shù)組被去掉了。
當(dāng)對(duì)多維數(shù)組進(jìn)行去重時(shí),請(qǐng)使用SORT_REGULAR這個(gè)常量作為第二個(gè)參數(shù),而不是默認(rèn)的SORT_STRING。SORT_REGULAR將會(huì)比較每個(gè)元素的值和類型,而不是把它們轉(zhuǎn)換成字符串。
如果您想對(duì)不同數(shù)據(jù)類型的元素進(jìn)行去重,您需要使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)。下面是轉(zhuǎn)換函數(shù)的一些示例:
```php
$array = array('1', 1, '2', 2, '3', 3.2, '3.2');
$newArray = array_unique($array, SORT_STRING);
print_r($newArray);
$array = array('1', 1, '2', 2, '3', 3.2, '3.2');
$newArray = array_unique($array, SORT_NUMERIC);
print_r($newArray);
$array = array('1', 1, '2', 2, '3', 3.2, '3.2');
$newArray = array_unique($array, SORT_REGULAR);
print_r($newArray);
```
輸出結(jié)果分別為:
```
Array
(
[0] =>1
[2] =>2
[4] =>3
[5] =>3.2
)
Array
(
[0] =>1
[2] =>2
[4] =>3
[5] =>3.2
[6] =>3.2
)
Array
(
[0] =>1
[2] =>2
[4] =>3
[5] =>3.2
)
```
在上面的幾個(gè)例子中,我們分別使用了SORT_STRING、SORT_NUMERIC和SORT_REGULAR來(lái)對(duì)不同數(shù)據(jù)類型的元素進(jìn)行去重。您可以自己嘗試比較這三個(gè)常量的差異。
注意,當(dāng)使用SORT_NUMERIC常量進(jìn)行去重時(shí),浮點(diǎn)類型的元素可能會(huì)被誤判成整型類型。
最后,我們來(lái)看一個(gè)數(shù)組合并的例子。在這個(gè)例子中,我們將兩個(gè)數(shù)組進(jìn)行合并,并且去掉其中的重復(fù)元素:
```php
$array1 = array('a', 'b', 'c', 'd');
$array2 = array('c', 'd', 'e', 'f');
$newArray = array_unique(array_merge($array1, $array2));
print_r($newArray);
```
輸出結(jié)果為:
```
Array
(
[0] =>a
[1] =>b
[2] =>c
[3] =>d
[4] =>e
[5] =>f
)
```
在上面的例子中,我們使用array merge函數(shù)將兩個(gè)數(shù)組合并,然后使用array unique函數(shù)去重。最終,我們得到了一個(gè)不包含重復(fù)元素的新數(shù)組。
總結(jié)來(lái)說(shuō),array unique函數(shù)可以輕松地去除數(shù)組中的重復(fù)元素。使用這個(gè)函數(shù)時(shí),您需要注意數(shù)據(jù)類型的轉(zhuǎn)換和常量的選擇。最后,您可以將這個(gè)函數(shù)和其他函數(shù)組合使用,實(shí)現(xiàn)更多有用的功能。
網(wǎng)站導(dǎo)航
- zblogPHP模板zbpkf
- zblog免費(fèi)模板zblogfree
- zblog模板學(xué)習(xí)zblogxuexi
- zblogPHP仿站zbpfang