濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重

PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重

熱門標(biāo)簽:電子地圖標(biāo)注怎么修改 如何在世界地圖標(biāo)注 天客通地圖標(biāo)注 地圖標(biāo)注符號(hào)樣式有 公司外呼系統(tǒng)中心 梧州市機(jī)器人外呼系統(tǒng)怎么樣 菏澤語音外呼系統(tǒng)運(yùn)營(yíng)商 廈門400電話辦理選易號(hào)網(wǎng) 臨沂crm外呼系統(tǒng)平臺(tái)

array_unique函數(shù)就是可以處重的,它具備了這個(gè)功能了,下面我們一來看一個(gè)關(guān)于PHP使用array_unique對(duì)二維數(shù)組去重處理例子。

php 5.2.9 版本增加了array_unique對(duì)多維數(shù)組的支持,在處理多維數(shù)組是需要設(shè)置sort_flags參數(shù)

一維數(shù)組的重復(fù)項(xiàng):

使用array_unique函數(shù)即可,使用實(shí)例如下:

代碼如下

?php
$aa = array("apple", "banana", "pear", "apple", "wail", "watermalon");
$bb = array_unique($aa);
print_r($bb);
?>

結(jié)果如下:

Array ( [0] => apple [1] => banana [2] => pear [4] => wail [5] => watermalon )

二維數(shù)組去重項(xiàng)

代碼如下

例如:

$result = array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other'),
2=>array('a'=>1,'b'=>'other'),
);

處理成

$result = array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other')
);

使用方法

array_unique($result, SORT_REGULAR);

二維數(shù)組的重復(fù)項(xiàng):

對(duì)于二維數(shù)組咱們分兩種情況討論,一種是因?yàn)槟骋绘I名的值不能重復(fù),刪除重復(fù)項(xiàng);另一種因?yàn)閮?nèi)部的一維數(shù)組不能完全相同,而刪除重復(fù)項(xiàng),下面舉例說明:

㈠因?yàn)槟骋绘I名的值不能重復(fù),刪除重復(fù)項(xiàng)

PHP代碼如下

?php

function assoc_unique($arr, $key) {
  $tmp_arr = array();
  foreach ($arr as $k => $v) {
    if (in_array($v[$key], $tmp_arr)) {//搜索$v[$key]是否在$tmp_arr數(shù)組中存在,若存在返回true
      unset($arr[$k]);
    } else {
      $tmp_arr[] = $v[$key];
    }
  }
  sort($arr); //sort函數(shù)對(duì)數(shù)組進(jìn)行排序
  return $arr;
}

$aa = array(
  array('id' => 123, 'name' => '張三'),
  array('id' => 123, 'name' => '李四'),
  array('id' => 124, 'name' => '王五'),
  array('id' => 125, 'name' => '趙六'),
  array('id' => 126, 'name' => '趙六')
);
$key = 'id';
assoc_unique($aa, $key);
print_r($aa);
?>

顯示結(jié)果為:

Array ( [0] => Array ( [id] => 123 [name] => 張三 ) [1] => Array ( [id] => 124 [name] => 王五 ) [2] => Array ( [id] => 125 [name] => 趙六 ) [3] => Array ( [id] => 126 [name] => 趙六 ) )

因內(nèi)部的一維數(shù)組不能完全相同,而刪除重復(fù)項(xiàng)

代碼如下

?php

function array_unique_fb($array2D) {
  foreach ($array2D as $v) {
    $v = join(",", $v); //降維,也可以用implode,將一維數(shù)組轉(zhuǎn)換為用逗號(hào)連接的字符串
    $temp[] = $v;
  }
  $temp = array_unique($temp);//去掉重復(fù)的字符串,也就是重復(fù)的一維數(shù)組
  foreach ($temp as $k => $v) {
    $temp[$k] = explode(",", $v);//再將拆開的數(shù)組重新組裝
  }
  return $temp;
}
$aa = array(
  array('id' => 123, 'name' => '張三'),
  array('id' => 123, 'name' => '李四'),
  array('id' => 124, 'name' => '王五'),
  array('id' => 123, 'name' => '李四'),
  array('id' => 126, 'name' => '趙六')
);
$bb = array_unique_fb($aa);
print_r($bb)
?>

顯示結(jié)果:

Array ( [0] => Array ( [0] => 123 [1] => 張三 ) [1] => Array ( [0] => 123 [1] => 李四 ) [2] => Array ( [0] => 124 [1] => 王五 ) [4] => Array ( [0] => 126 [1] => 趙六 ) )

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP數(shù)組實(shí)際占用內(nèi)存大小原理解析
  • PHP數(shù)組訪問常用方法解析
  • PHP如何使用array_unshift()在數(shù)組開頭插入元素
  • PHP數(shù)組Key強(qiáng)制類型轉(zhuǎn)換實(shí)現(xiàn)原理解析
  • PHP讀取遠(yuǎn)程txt文檔到數(shù)組并實(shí)現(xiàn)遍歷
  • 如何在PHP中使用數(shù)組
  • php中數(shù)組最簡(jiǎn)單的使用方法

標(biāo)簽:瀘州 綿陽 白城 黃石 迪慶 郴州 貴陽 雞西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重》,本文關(guān)鍵詞  PHP,基于,array,unique,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP基于array_unique實(shí)現(xiàn)二維數(shù)組去重的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    禄丰县| 龙门县| 承德市| 视频| 隆回县| 阿勒泰市| 沈丘县| 仙居县| 柯坪县| 高淳县| 台安县| 出国| 木兰县| 屏山县| 连州市| 蚌埠市| 西丰县| 凭祥市| 精河县| 鹤峰县| 铜鼓县| 海伦市| 景东| 益阳市| 临湘市| 台东市| 尉氏县| 卢龙县| 舟曲县| 蕲春县| 南充市| 梧州市| 怀宁县| 明星| 黄龙县| 甘洛县| 延吉市| 永州市| 沁阳市| 宕昌县| 馆陶县|