php in_array 函数使用说明与in_array需要注意的地方说明


Posted in PHP onApril 13, 2010

in_array
(PHP 4, PHP 5)

in_array — 检查数组中是否存在某个值

说明

bool in_array ( mixed $needle , array $haystack [, bool $strict ] )

在 haystack 中搜索 needle ,如果找到则返回 TRUE,否则返回 FALSE。

如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

Note: 如果 needle 是字符串,则比较是区分大小写的。

Note: 在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。

Example #1 in_array() 例子

<?php 
$os = array("Mac", "NT", "Irix", "Linux"); 
if (in_array("Irix", $os)) { 
echo "Got Irix"; 
} 
if (in_array("mac", $os)) { 
echo "Got mac"; 
} 
?>

第二个条件失败,因为 in_array() 是区分大小写的,所以以上程序显示为:
Got Irix

Example #2 in_array() 严格类型检查例子

<?php 
$a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) { 
echo "'12.4' found with strict check\n"; 
} 
if (in_array(1.13, $a, true)) { 
echo "1.13 found with strict check\n"; 
} 
?>

上例将输出:

1.13 found with strict check

Example #3 in_array() 中用数组作为 needle

<?php 
$a = array(array('p', 'h'), array('p', 'r'), 'o'); if (in_array(array('p', 'h'), $a)) { 
echo "'ph' was found\n"; 
} 
if (in_array(array('f', 'i'), $a)) { 
echo "'fi' was found\n"; 
} 
if (in_array('o', $a)) { 
echo "'o' was found\n"; 
} 
?>

上例将输出:

'ph' was found
'o' was found

需要注意的地方:

假如:

先声明一个数组为:

$arr = array(

*);

那么则有:

 

in_array(0, $arr) == true

 

令人费解! {弱语言}


解决办法:
    in_array(strval(0), $arr, true))
PHP 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
解析dedeCMS验证码的实现代码
Jun 07 PHP
Linux中用PHP判断程序运行状态的2个方法
May 04 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
PHP微信开发之有道翻译
Jun 23 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
PDO::_construct讲解
Jan 27 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 PHP
php读取javascript设置的cookies的代码
Apr 12 #PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 #PHP
php Smarty模板生成html文档的方法
Apr 12 #PHP
php empty函数判断mysql表单是否为空
Apr 12 #PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 #PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 #PHP
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 #PHP
You might like
php实现ping
2006/10/09 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
python unittest实现api自动化测试
2018/04/04 Python
Python 移动光标位置的方法
2019/01/20 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python中while和for的区别总结
2019/06/28 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
文艺演出策划方案
2014/06/07 职场文书
运动会班级口号
2014/06/09 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
出纳工作检讨书
2014/10/18 职场文书
公务员政审材料范文
2014/12/23 职场文书
合同纠纷调解书
2015/05/20 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书