$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
print_r($test_array_unique); 
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
print_r($test_array_unique); 
但是至此,不要粗心,事还没结束。细心的看你会发现经管重复的元素被移除了,但是剩下来这些元素的索引没有变化,这样的话如果用for循环调用这个数组元素的时候就会发生错误了,因为for循环的时候是按照数字递增,而且大多数人用的是count($test_array_unique)来获得数组的大小,这样就会造成一些元素被遗漏;

代码如下:
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
for($i=0;$i<count($test_array_unique);$i++) 

echo $test_array_unique[$i]; 

$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
for($i=0;$i<count($test_array_unique);$i++) 

echo $test_array_unique[$i]; 

这样你不会看到元素6被输出,因为6的索引是8,处理前的数组和处理后的数组索引没有任何改变; 
解决办法: 
当然,这里解决办法太多了,我介绍的只是一种我觉得比较简单的方法,那就是函数array_values,array_values是返回数组的值,跟索引没有关系,这样处理后会形成一个新的数组,严格按照数字递增的索引,这样再使用for循环输出边一切OK了!
$test_array=array(1,2,3,4,4,5,5,6);

2881064151
$test_array_unique=array_values(array_unique($test_array)); 
for($i=0;$i<count($test_array_unique);$i++) 

echo $test_array_unique[$i]; 
}

for循环的时候是按照数字递增会造成一些元素被遗漏的更多相关文章

  1. VIM 多行输入 数字递增 新方法 循环记录法

    采用的是mario register这个方法,然后,把一段 auto-increament 操作记录下来,然后playback 循环往复多次.就达到了,每行都递增的目的. 我写的文字如下: vim 输 ...

  2. js验证连续两位数字递增或递减和连续三位数字相同

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  3. js 数字递增特效 仿支付宝我的财富 HTML5

    上周五应着公司临时需求,一天的时间解决掉官网(ps:比较简单哈哈),需求里面有一个特效就是数字递增到指定的数值,其实JS写也不复杂的,但是我发现一个js小插件,这个插件轻巧简单,用起来也非常简单实用. ...

  4. JS面试题--使用for循环打印1-10,每个数字出现的间隔约500ms

    又来刷面试题啦,哈哈. 要求:使用for循环打印1-10,每个数字出现的间隔约500ms. 分析:考察点--闭包,块级作用域 方式一.使用闭包+立即执行函数,自己当时的思路也是这样想的,但是,结果却没 ...

  5. 找出数字数组中最大的元素(使用Math.max函数)

    从汤姆大叔的博客里看到了6个基础题目:本篇是第1题 - 找出数字数组中最大的元素(使用Match.max函数) 从要求上来看,不能将数组sort.不能遍历.只能使用Math.max,所以只能从java ...

  6. JAVASE 循环 之 计算各位上数字的和

    问题:输入一个整数,计算它各位上数字的和 Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int sum = 0; while(a ...

  7. 用JQuery内置animate方法实现数字递增动画

    平时使用animate只用于dom节点的动画,无意间发现JQuery内置的animate方法可实现数字动画,JQ还是挺强大的! 动画效果为从0一步步跳到84,代码如下: $({ // 起始值 coun ...

  8. 【C/C++开发】循环中使用递减计数与递增计数的效率区别

    有两个循环语句: 复制代码代码如下: for(i = n; i > 0; i--)  {  -  }  for(i = 0; i < n; i++)  {  -  }  为什么前者比后者快 ...

  9. vue 数字随机滚动(数字递增)

    html: <span v-for="i in numArr">{{i}}</span>   data: numArr: [], methods: perN ...

随机推荐

  1. iOS 查看系统字体效果的网页

    常常需要查看字体的样式,这里推荐一个网页http://iosfonts.com,方便查阅.

  2. [Android UI] ProgressBar自定义

    转载自:http://gundumw100.iteye.com/blog/1289348 1: 在JAVA代码中 在java代码中 ProgressBar      继承自View, 在android ...

  3. Android之jni深入

    小技巧:自动生成 java本地方法对应的c代码的方法名 javah 指令 +全类名 java1.6版本 class C:\workspace\HelloWorldFromC2\bin\classes ...

  4. 11、使用 WinAppDeployCmd 部署appx 包到 Windows10 Mobile上(更新)

    在 Windows10 Mobile开发工具里,微软没有提供 wp8 sdk 中 Application Deployment 一样的部署工具,参考 了一下  StackOverflow 论坛上的帖子 ...

  5. loj 1185(bfs)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26898 思路:我们可以给定有直接边相连的两点的距离为1,那么就是求 ...

  6. PHP扩展开发

    安装好php,进入安装目录. zbseoag@ubuntu:/usr/local/php-5.6.28/ext$ ./ext_skel --extname=mytest zbseoag@ubuntu: ...

  7. python map函数

    map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于li ...

  8. &1的用法

    看到不少大神都喜欢用&1来判断一些东西,但是作为渣渣的我总是不理解这个&1到底是有什么作用. 今天写了程序看了一下,其实是判断奇偶用的. 如果是奇数,其结果为1,偶数结果为false. ...

  9. WPF/Silverlight Template使用及总结(转)

    WPF/Silverlight 中的控件都有Style和Template两种属性.前者解释为样式,是用来改变控件原有属性的,比如 Button 控件的(Width,Height,Background ...

  10. JVM的类加载机制

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 类加载的过程: 包括加载.链接(含验证.准备 ...