为了账号安全,请及时绑定邮箱和手机立即绑定

php 数组 去重

标签:
PHP


/**** 过滤包含,当前关键词在后面出现,后面删掉* 关键字 留短不留长* @param      $arr=array();* @return     $newArr=array();* @update     2013/9/24*/function arrFilter(&$arr){$newArr=&$arr;$count=count($newArr);for($i=0;$i<$count;$i++){for($k=$count-1;$k>$i;$k--){$needle=$newArr[$i];$haystack=$newArr[$k];if(!$needle) continue;$rst = substr($haystack,0,strlen($needle))==$needle?1:0;if($rst){array_splice($newArr,$k,1);array_values($newArr);$count--;};}}}//优化后算法function arrFilter2(&$arr){sort($arr);foreach($arr as $v1){while($v2 = current($arr)){$l1 = strlen($v1);$l2 = strlen($v2);if( $l1>$l2 or $v1 != substr($v2,0,$l1) ) break;$k = key($arr);unset($arr[$k]);}}}



//字符串有短到长排列function cmpStr($str1, $str2){$a=strlen($str1);$b=strlen($str2);if ($a == $b) {if($str1==$str2){return 0;}else{return ($str1 < $str2) ? -1 : 1;}//return 0;}return ($a < $b) ? -1 : 1;}$aS = array('baaab', 'aa','cc', 'bb','aaaa', 'dd','aaaaa');usort($aS, "cmpStr");


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消