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 相关文章推荐
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 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 number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
PHP生成条形图的方法
2014/12/10 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
js 函数的副作用分析
2011/08/23 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python+os根据文件名自动生成文本
2019/03/21 Python
详解Python:面向对象编程
2019/04/10 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
保险专业求职信
2014/07/07 职场文书
党员评议个人总结
2014/10/20 职场文书
开业典礼致辞
2015/07/29 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang