您当前的位置: 首页 > 网站编程 > PHP教程 > PHP去除重复的数组中的无素

PHP去除重复的数组中的无素

作者:xiaoxiao 来源:未知 发布时间: 2014-01-09 15:07 点击:
?php $input = array(a = green,, red,b = green, ,blue, red,c = witer,hello,witer); //$result = array_unique($input); //去除重复元素 $result = a_array_unique($input); //只留下单一元素 foreach($result as $aa) { echo $aa.br /; } function multi_unique($a

PHP去除重复的数组中的无素

  <?php
  $input = array("a" => "green","", "red","b" => "green", "","blue", "red","c" => "witer","hello","witer");
  //$result = array_unique($input); //去除重复元素
  $result = a_array_unique($input);   //只留下单一元素
  foreach($result as $aa)
  {
  echo $aa."<br />";
  }
  function multi_unique($array) {
  foreach ($array as $k=>$na)
  $new[$k] = serialize($na);
  $uniq = array_unique($new);
  foreach($uniq as $k=>$ser)
  $new1[$k] = unserialize($ser);
  return ($new1);
  }
  function a_array_unique($array)//写的比较好
  {
  $out = array();
  foreach ($array as $key=>$value) {
  if (!in_array($value, $out))
  {
  $out[$key] = $value;
  }
  }
  return $out;
  }
  ?>
  PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 array_unique函数
  function unique_arr($array2D,$stkeep=false,$ndformat=true)
  {
  // 判断是否保留一级数组键 (一级数组键可以为非数字)
  if($stkeep) $stArr = array_keys($array2D);
  // 判断是否保留二级数组键 (所有二级数组键必须相同)
  if($ndformat) $ndArr = array_keys(end($array2D));
  //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
  foreach ($array2D as $v){
  $v = join(",",$v);
  $temp[] = $v;
  }
  //去掉重复的字符串,也就是重复的一维数组
  $temp = array_unique($temp);
  //再将拆开的数组重新组装
  foreach ($temp as $k => $v)
  {
  if($stkeep) $k = $stArr[$k];
  if($ndformat)
  {
  $tempArr = explode(",",$v);
  foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
  }
  else $output[$k] = explode(",",$v);
  }
  return $output;
  }
  演示:
  $array2D = array('first'=>array('title'=>'1111','date'=>'2222'),'second'=>array('title'=>'1111','date'=>'2222'),'third'=>array('title'=>'2222','date'=>'3333'));
  print_r($array2D);
  print_r(unique_arr($array2D,true));

分享到:
本文"PHP去除重复的数组中的无素"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(1)
100%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4