注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

牧野流星

每个人心中都有一个梦想..........

 
 
 

日志

 
 

php数组中第一个键名为空的解决办法  

2013-09-05 17:23:49|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近在做一些项目。遇到一个技术问题。
我要取一个数组的键名,但是问题出现了:

<?php
$array= array('1001','1002','1003');
$key = array_search('1005',$array);
if($key){
echo '不存在';
}else{
echo '存在';
}
这样写的话,输出的是“存在”
$key本来没有值,但是判断为有值

<?php
$array= array('1001','1002','1003');
$key = array_search('1005',$array);
if(isset($key)){
echo '存在';
}else{
echo '不存在';
}
改成isset后,代码如上。
输出的结果是 “不存在”
还是没有解决,$key没有值,但是系统判断为有值


试一下empty()函数
<?php 
$array= array('1001','1002','1003');
 $key = array_search('1001',$array);
 if(!empty($key)){
 echo '存在';
 }else{
 echo '不存在';
 }
代码如上
结果输出不存在,
$key这个值是存在的,单被程序判断为不存在

改成true
<?php
$array= array('1001','1002','1003');
$key = array_search('1001',$array);
if($key==true){
echo '存在';
}else{
echo '不存在';
}
结果还是有错
$key存在,程序判断为不存在

最后在网友的指点下
使用===判断
<?php
$array= array('1001','1002','1003');
$key = array_search('1001',$array);
if($key===true){
echo '存在';
}else{
echo '不存在';
}
这样写还是不行
$key存在,程序判断为不存在


最终结果是:
<?php
$array= array('1001','1002','1003');
$key = array_search('1005',$array);
if($key===false){
echo '不存在';
}else{
echo '存在';
}
这样写程序判断准确

总结:
当$key值不存在时返回布尔值,正确的时候返回整型。
所以使用 == 会出现判断不准确的情况。
使用=== 不只是判断数值,还会判断类型。

  评论这张
 
阅读(213)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018