php判断数据是否存在数组中
在php中,经常需要判断一个数据是否存在数组中。此时可以采用以下几种方法:
1.使用in_array函数:
in_array函数是php中常用用于判断一个数据是否存在于数组中的函数,其函数原型为:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
其中,needle参数表示要查找的值,haystack表示查找的数组,strict表示是否使用严格模式进行比较。例如:
$arr = array(1, 2, 3, 'a', 'b', 'c');
if (in_array(1, $arr)) {
echo '存在';
} else {
echo '不存在';
}
上述代码中,先定义一个数组$arr,然后使用in_array函数判断1是否在其中。由于1确实在数组中,所以输出“存在”。
2.使用array_search函数:
array_search函数是另一种判断数据是否存在于数组中的函数,其函数原型为:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
其中,needle参数表示要查找的值,haystack表示查找的数组,strict表示是否使用严格模式进行比较。如果找到了,该函数会返回该元素在数组中的键名,否则返回false。例如:
$arr = array(1, 2, 3, 'a', 'b', 'c');
$key = array_search('a', $arr);
if ($key !== false) {
echo '存在于数组中,键名为:' . $key;
} else {
echo '不存在';
}
上述代码中,定义一个数组$arr,然后使用array_search函数查找数组中的值‘a’,如果存在则返回键名,否则返回false。
3.使用in_array和array_search的自定义函数:
有时候我们需要根据不同的需求,自定义判断数据是否存在于数组中的函数。例如,我们想判断一个字符串是否是另一个字符串的子串(即是否包含),可以使用以下代码:
function is_substr($str, $substr) {
return strpos($str, $substr) !== false;
}
$str = 'hello world';
$substr = 'world';
if (is_substr($str, $substr)) {
echo '包含';
} else {
echo '不包含';
}
上述代码中,定义了一个自定义函数is_substr来判断一个字符串是否是另一个字符串的子串,其中使用了php内置的函数strpos。该函数返回字符串在另一个字符串中的位置,如果不存在则返回false。如果找到了,即位置非负,函数返回true,否则返回false。
综上所述,php判断数据是否存在数组中,in_array和array_search函数是最常用最方便的。如果有特殊需求,可以自定义相应的函数。
以上就是php判断数据是否存在数组中的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341