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截取中文字符串的问题
Jul 12 PHP
PHP语法速查表
Dec 06 PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 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 搜索之简单应用
2007/04/27 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
form自动提交实例讲解
2017/07/10 PHP
php如何获取Http请求
2020/04/30 PHP
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
浅析Ajax语法
2016/12/05 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
jQuery AJAX应用实例总结
2020/05/19 jQuery
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Django中的Signal代码详解
2018/02/05 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python语言元素知识点详解
2019/05/15 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
财务主管的岗位职责
2013/12/30 职场文书
销售业务员岗位职责
2014/01/29 职场文书
门前三包责任书
2014/04/15 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
mysql函数全面总结
2021/11/11 MySQL