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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
php flush类输出缓冲剖析
Oct 19 PHP
php学习之流程控制实现代码
Jun 09 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
PHP+swoole实现简单多人在线聊天群发
Jan 19 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
php_pdo 预处理语句详解
Nov 21 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
PHP+AJAX 投票器功能
Nov 11 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自动判断字符集并转码的详解
2013/06/26 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
php实现socket推送技术的示例
2017/12/20 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
python中函数默认值使用注意点详解
2016/06/01 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
详解python 注释、变量、类型
2018/08/10 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Python urllib.request对象案例解析
2020/05/11 Python
利用python控制Autocad:pyautocad方式
2020/06/01 Python
python文件编写好后如何实践
2020/07/07 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
前台文员个人求职信范文
2014/01/05 职场文书
全民健身日活动方案
2014/01/29 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技