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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
PHP安全配置
Dec 06 PHP
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
迁移PHP版本到PHP7
Feb 06 PHP
PHP的反射机制实例详解
Mar 29 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 PHP
php反射学习之依赖注入示例
Jun 14 PHP
php引用传递
Apr 01 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
smarty中js的调用方法示例
2014/10/27 PHP
php实现无限级分类
2014/12/24 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
ionic3 懒加载
2017/08/16 Javascript
探究Python中isalnum()方法的使用
2015/05/18 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
节能环保口号
2014/06/12 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
学校证明范文
2015/06/24 职场文书
新闻通讯稿范文
2015/07/22 职场文书
同事离别感言
2015/08/04 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android