删去数组与二维数组值的php代码,PHP二维数组的
分类:正版必中一肖图计算机

主意如下:
$arr = array(…………) ;//假使有一千0个元素的数组,里面有再次的因素。
$arr = array_flip(array_flip($arr)); //那样便能够去除重复成分。

事先写了一篇关于数组去重的篇章,可是只限于一维数组。上边包车型客车函数能够用于二维数组:

毕竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将贰个数组的各样成分的键和值交流,如:
$arr1 = array (”age” => 30, “name” => “快乐园”);
$arr2 = array_flip($arr1); //$arr2 就是 array(30 => “age”, “快乐园” => “name”);
在PHP的数组中,允许差异的元素得以取同三个值,但不允许同一个键名被差别的要素运用,如:
$arr1 = array (”age” => 30, “name” => “欢快园”, “age” => 20); “age” => 20将会代表”age” => 30
$arr1 = array (”name” => “快乐园”, “age” => 45);
此间 $arr1与$arr2 是极度的。
于是乎,我们便得以清楚,为什么array_flip(array_flip($arr)) 能够去除数组中再一次的因素了。首先,$arr里的值会产生键名,因为值是有重新的,产生键名之后那些再度的值便成了重新的键名,PHP引擎将另行的键名删除,只保留最终二个。如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20);
$arr1 = array_flip($arr1); //$arr1 变成了 array(”快乐园” => “name”, 20 => “age”);
//再把 $arr1 的键名与值还复:
$arr1 = array_flip($arr1);

复制代码 代码如下:

地点的代码写得轻便一些正是: $arr1 = array_flip(array_flip($arr1));

//二维数组去掉重复值
function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v); //降维,也足以用implode,将一维数组转变为用逗号连接的字符串
$temp[] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也正是重新的一维数组
foreach ($temp as $k => $v)
{
$temp[$k] = explode(",",$v); //再将拆开的数组重新建立
}
return $temp;
}

 

设若您想保留数组的键值,能够用上面包车型大巴函数:

地方写了一篇有关数组去重的稿子,然而仅限于一维数组。下边包车型大巴函数可以用来二维数组:
复制代码 代码如下:
//二维数组去掉重复值

复制代码 代码如下:

function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v); //降维,也能够用implode,将一维数组转变为用逗号连接的字符串
$temp[] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也便是重复的一维数组
foreach ($temp as $k => $v)
{
$temp[$k] = explode(",",$v); //再将拆开的数组重新建立
}
return $temp;
}

//二维数组去掉重复值 并保留键值
function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v); //降维,也能够用implode,将一维数组调换为用逗号连接的字符串
$temp[$k] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也便是重新的一维数组
foreach ($temp as $k => $v)
{
$array=explode(",",$v); //再将拆开的数组重新建立
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
$temp2[$k]["ename"] =$array[7];
}
return $temp2;
}

纵然您想保留数组的键值,能够用上边包车型大巴函数:
复制代码 代码如下:
//二维数组去掉重复值 并保存键值

恐怕就像是此啊。
二维数组去重

function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v); //降维,也足以用implode,将一维数组调换为用逗号连接的字符串
$temp[$k] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也便是再度的一维数组
foreach ($temp as $k => $v)
{
$array=explode(",",$v); //再将拆开的数组重新建立
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
$temp2[$k]["ename"] =$array[7];
}
return $temp2;
}

复制代码 代码如下:

差不离就这么呀。
二维数组去重
复制代码 代码如下:

<?php
$arr = array(
array('id' => 1,'name' => 'aaa'),
array('id' => 2,'name' => 'bbb'),
array('id' => 3,'name' => 'ccc'),
array('id' => 4,'name' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' => 6,'name' => 'aaa'),
array('id' => 7,'name' => 'bbb'),
);
function assoc_unique(&$arr, $key)
{
$rAr=array();
for($i=0;$i<count($arr);$i++)
{
if(!isset($rAr[$arr[$i][$key]]))
{
$rAr[$arr[$i][$key]]=$arr[$i];
}
}
$arr=array_values($rAr);
}
assoc_unique(&$arr,'name');
print_r($arr);
?>

<?php教程
$arr = array(
array('id' => 1,'name' => 'aaa'),
array('id' => 2,'name' => 'bbb'),
array('id' => 3,'name' => 'ccc'),
array('id' => 4,'name' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' => 6,'name' => 'aaa'),
array('id' => 7,'name' => 'bbb'),
);
function assoc_unique(&$arr, $key)
{
$rAr=array();
for($i=0;$i<count($arr);$i++)
{
if(!isset($rAr[$arr[$i][$key]]))
{
$rAr[$arr[$i][$key]]=$arr[$i];
}
}
$arr=array_values($rAr);
}
assoc_unique(&$arr,'name');
print_r($arr);
?>

您恐怕感兴趣的篇章:

  • php二维数组合併及去重新的法子
  • php冒泡排序、神速排序、快速寻找、二维数组去重实例分享
  • PHP二维数组去重算法
  • php三个维度数组去重(示例代码)
  • PHP完毕二维数组去重功能示例
  • PHP二维数组去重实例剖析
  • PHP完成一维数组与二维数组去重功用示例
  • php数组去重实例及剖析
  • PHP数组去重的越来越快达成格局深入分析
  • php 数组成分急速去重
  • PHP实现的多维数组去重操作示例

选择php自带函数

说明

array array_unique ( array $array )
array_unique() 接受 array 作为输入并赶回未有重复值的新数组。

留心键名保留不改变。array_unique() 先将值作为字符串排序,然后对各样值只保留第贰个境遇的键名,接着忽略全数前边的键名。那并不意味着在未排序的 array 中同叁个值的第贰个冒出的键名会被保留。

 

Note: 当且仅当 (string) $elem1 === (string) $elem2 时多个单元被以为相同。正是说,当字符串的公布同样不经常候。第三个单元将被保存。

Example #1 array_unique() 例子

 

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
上例将出口:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)


Example #2 array_unique() 和类型

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
上例将出口:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

相关课程

本文由正版必中一肖图发布于正版必中一肖图计算机,转载请注明出处:删去数组与二维数组值的php代码,PHP二维数组的

上一篇:CKEditor的文件管理器插件,最新UC浏览器插件下载 下一篇:没有了
猜你喜欢
热门排行
精彩图文