关于in_array问题

说明

in_array()

函数搜索数组中是否存在指定的值。

语法

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
参数 描述
needle 必需。规定要在数组搜索的值。
haystack 必需。规定要搜索的数组。
strict 可选。如果该参数设置为 TRUE,则 in_array() 函数检查搜索的数据与数组的值的类型是否相同。
  • 返回值:如果在数组中找到值则返回 TRUE,否则返回 FALSE。

例子

$sku = '10051994-1';
$arr = ['10051994','10052770','10062518'];

if(!in_array($sku,$arr)){
	echo '不匹配';
}else{
	echo '匹配';
}

//输出结果:不匹配
$sku = '10051994-1';
$arr = [10051994,10052770,10062518];

if(!in_array($sku,$arr)){
	echo '不匹配';
}else{
	echo '匹配';
}

//输出结果:匹配

小结

$sku = '10051994-1';
$rs = (int)$sku;
echo $rs;

//输出结果:10051994
  • sku是字符串类型,数组里是int类型,in_array的时候sku会被转为int类型,'10051994-1' 转int类型截取数字部分就变成了 10051994 就匹配上了
posted @ 2020-09-02 15:13  pine007  阅读(204)  评论(0编辑  收藏  举报