in_array 关于字符串的陷阱

in_array 关于字符串的陷阱 

 

1 <?php
2 
3 $arr=array(0,1,2,3,4,5);
4 
5 if(in_array('xxx',$arr)){
6     echo 'in';
7 }else{
8     echo 'out';
9 }

在字符串与含有数字的数组进行比较时,大家一定要注意了,雷还是很容易踩的,因为这个结果不一定就是你想要的。

假设要进行比较的变量为$a,数组为$b:

in_array 会把$a与$b进行一一比较,如 $a==$b[0] , 此时,当$a为字符串,而数组中有元素为数字时,php就会将$a数字化然后进行比较,当然结果就很可能会是错误的。

道理其实很简单,但在平常的工作中却很容易忽视。

 

 

 

posted @ 2013-05-08 15:32  Gcoder  阅读(813)  评论(0编辑  收藏  举报