代码说

code is poetry

代码说    
碎碎念:世界很大,世界很小。  换一换

获取元素在数组中重复出现的位置

作者:coderzheng 发布于:2013-5-27 11:20 Monday 分类:php  阅读模式

// 这个实例获取元素在数组中重复出现的位置(数组下标值),
// 如果元素没有重复出现, 不计算
$a = array(1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9);
$r = array();
foreach($a as $v) {
	if(isset($r[$v])) continue;
	if($t = array_keys(array_intersect($a, array($v)))) {
		// 得到的是一个数组, 数组记录的是元素出现在$a中的位置下标, 
		// unset($t[0])是为了去除第一个下标值(因为要求的是不是元素的所有下标值,
		// 而是元素重复位置的下标值)
		unset($t[0]);
		$r[$v] = join(',', $t); //如果元素只在数组中出现一次,那么此时$t是个空数组,$r[$v]=''
	}
}

$r = array_diff($r, array(''));
print_r($r);

标签: php

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: php中支持的foreach:这种写法  |  下一篇:简单的网站访问计数器