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 相关文章推荐
探讨方法的重写(覆载)详解
Jun 08 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
ThinkPHP3.1查询语言详解
Jun 19 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
php中动态变量用法实例
Jun 10 PHP
分享PHP守护进程类
Dec 30 PHP
Zend Framework教程之视图组件Zend_View用法详解
Mar 05 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 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正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
jQuery实现动画效果的简单实例
2014/01/27 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python3里的super()和__class__使用介绍
2015/04/23 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Python实现简单的语音识别系统
2017/12/13 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
python实战教程之自动扫雷
2018/07/13 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
python遍历路径破解表单的示例
2020/11/21 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
助人为乐模范事迹材料
2014/06/02 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers
简单聊聊Golang中defer预计算参数
2022/03/25 Golang