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 相关文章推荐
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
php生成随机颜色的方法
Nov 13 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
PHP扩展安装方法步骤解析
Nov 24 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闭包(Closure)使用详解
2013/05/02 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
详解Python中的__new__()方法的使用
2015/04/09 Python
python直接访问私有属性的简单方法
2016/07/25 Python
python的turtle库使用详解
2019/05/10 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
中专毕业个人的自荐信格式
2013/09/21 职场文书
小学生班会演讲稿
2014/01/09 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
如何用RabbitMQ和Swoole实现一个异步任务系统
2021/05/29 PHP
python如何读取和存储dict()与.json格式文件
2022/06/25 Python