提取步驟:1、利用array_count_values()函數(shù)統(tǒng)計(jì)數(shù)組中元素的出現(xiàn)次數(shù),語法“array_count_values(原數(shù)組)”,會(huì)返回一個(gè)關(guān)聯(lián)數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù);2、利用array_keys()函數(shù)獲取出現(xiàn)次數(shù)為1的元素,即提取關(guān)聯(lián)數(shù)組中鍵值為1的元素的鍵名即可,語法“array_keys(關(guān)聯(lián)數(shù)組,1)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在PHP中,可以利用array_count_values()函數(shù)和array_keys()函數(shù)來提取數(shù)組中不重復(fù)的值。
實(shí)現(xiàn)步驟:
步驟1:利用array_count_values()函數(shù)統(tǒng)計(jì)數(shù)組中元素的出現(xiàn)次數(shù)
array_count_values() 函數(shù)可以統(tǒng)計(jì)數(shù)組中所有值出現(xiàn)的次數(shù);會(huì)返回一個(gè)關(guān)聯(lián)數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)
。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,"A","Cat",2,"Dog","A",3,4,5,5,3,1); echo "原數(shù)組"; var_dump($arr); $con=array_count_values($arr); echo "各數(shù)組元素的出現(xiàn)次數(shù):"; var_dump($con); ?>
步驟2:利用array_keys()函數(shù)提取數(shù)組中不重復(fù)的值
出現(xiàn)次數(shù)為1的值,就是不重復(fù)值。
只需要使用array_keys()函數(shù)在返回的關(guān)聯(lián)數(shù)組中,獲取鍵值為1元素對(duì)應(yīng)的鍵名即可。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,"A","Cat",2,"Dog","A",3,4,5,5,3,1); echo "原數(shù)組"; var_dump($arr); $con=array_count_values($arr); echo "各數(shù)組元素的出現(xiàn)次數(shù):"; var_dump($con); $res=array_keys($con,1); echo "數(shù)組中的不重復(fù)值:"; var_dump($res); ?>
說明:
array_key() 函數(shù)可以獲取數(shù)組中的部分或所有鍵名
array_keys($array [, $search_value = null [, $strict = false]])
參數(shù)說明如下:
- $array:必選參數(shù),為待操作的數(shù)組;
- $search_value:可選參數(shù),如果參數(shù)為空,則函數(shù)會(huì)返回?cái)?shù)組中的所有鍵名,如果指定了該參數(shù),則函數(shù)就只會(huì)返回值為 $search_value 的鍵名;
- $strict:可選參數(shù),判斷在搜索的時(shí)候是否使用嚴(yán)格模式,$strict 默認(rèn)為 false,也就是非嚴(yán)格模式,在搜索時(shí)只比較類型,不比較類型,若將 $strict 設(shè)置為 true,也就是嚴(yán)格模式,在搜索時(shí)同時(shí)比較值和類型,等價(jià)于
===
。
array_keys() 函數(shù)會(huì)以數(shù)組形式返回得到的數(shù)組鍵名。
推薦學(xué)習(xí):《PHP視頻教程》