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 相关文章推荐
PHP 强制下载文件代码
Oct 24 PHP
PHP四大安全策略
Mar 12 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
May 12 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
php简单处理XML数据的方法示例
May 19 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 PHP
PHP回调函数简单用法示例
May 08 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
js实现简单分页导航栏效果
2019/06/28 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
Python自动连接ssh的方法
2015/03/07 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python获取Linux发行版名称
2019/08/30 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
System.Array.CopyTo()和System.Array.Clone()有什么区别
2016/06/20 面试题
《一株紫丁香》教学反思
2014/02/19 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
运动员口号
2014/06/09 职场文书
党员作风建设自查报告
2014/10/23 职场文书
党员承诺书格式范文
2015/04/28 职场文书
国王的演讲观后感
2015/06/03 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL