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 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
php数字运算验证码的实现代码
Jul 30 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 PHP
PHP实现抽奖功能实例代码
Jun 30 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
yii框架配置默认controller和action示例
2014/04/30 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PHP模块memcached使用指南
2014/12/08 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
event.srcElement+表格应用
2006/08/29 Javascript
JS Timing
2007/04/21 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python是编译运行的验证方法
2015/01/30 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2014年药房工作总结
2014/11/22 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python