摘要:本文主要向大家介绍了PHP语言:in_array需要注意的点,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
本文主要向大家介绍了PHP语言:in_array需要注意的点,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。
in_array (PHP 4, PHP 5, PHP 7) in_array — 检查数组中是否存在某个值 说明 ---- bool in_array ( mixed needle,arrayneedle,arrayhaystack [, bool $strict = FALSE ] ) 大海捞针,在大海(haystack)中搜索针( needle),如果没有设置 strict 则使用宽松的比较。
in_array
(PHP 4, PHP 5, PHP 7)
in_array — 检查数组中是否存在某个值
说明
----
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
大海捞针,在大海(haystack)中搜索针( needle),如果没有设置 strict 则使用宽松的比较。
参数
----
needle
待搜索的值。
Note:
如果 needle 是字符串,则比较是区分大小写的。
haystack
待搜索的数组。
strict
如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。
返回值
----
如果找到 needle 则返回 TRUE,否则返回 FALSE。
看问题:
<?php
$array = range(0, 7);
$string = 's';
if (in_array($string, $array)) {
echo 1;
} else {
echo 2;
}
// 输出结果为 1
很显然这并不是我们期望的结果。但究竟为啥会这样呢?
因为in_array()会将0和's'进行比较,0是number类型,'s'是string类型,根据php manual中Comparison Operators一章的说明可知,number和string进行比较的时候,会先将string类型首先转化为number,然后再进行比较操作。 's'转化为number的结果为0,而0 == 0的结果是true,所以in_array($string, $array)的结果也是 true。
如果把in_array()的第三个参数strict设置为true,比较的时候就会判断值和类型是否都相等。如果都相等的话,才会返回true,否则返回false。
以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号