要判断一个参数是否在一个php数组里,可以使用in_array()函数。这个函数的语法如下:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
这个函数接受三个参数:
-
needle:要查找的值 -
haystack:要查找的数组 -
strict:可选参数,如果设置为true,则在比较值时考虑类型
如果指定的$needle值在$haystack数组中找到,则返回true,否则返回false。
以下是一个例子:
$fruits = array("apple", "banana", "orange", "pear");
if (in_array("apple", $fruits)) {
echo "苹果在水果篮子里";
} else {
echo "苹果没有在水果篮子里";
}以上代码输出:
立即学习“PHP免费学习笔记(深入)”;
苹果在水果篮子里
如果要检查的值是一个数字,必须使用严格模式。以下是一个例子:
$numbers = array(1, 3, 5, 7);
if (in_array("3", $numbers, true)) {
echo "3在数字数组里(使用严格模式)";
} else {
echo "3没有在数字数组里(使用严格模式)";
}以上代码输出:
立即学习“PHP免费学习笔记(深入)”;
3没有在数字数组里(使用严格模式)
如果要检查的值是一个字符串,不使用严格模式也是可以。以下是一个例子:
$alphabets = array("a", "b", "c", "d");
if (in_array("A", $alphabets)) {
echo "A在字母数组里(不使用严格模式)";
} else {
echo "A没有在字母数组里(不使用严格模式)";
}以上代码输出:
立即学习“PHP免费学习笔记(深入)”;
A没有在字母数组里(不使用严格模式)
总之,要在PHP中判断一个参数是否在一个数组里,可以使用in_array()函数。这个函数很简单,并且可以通过设置严格模式来确保值的类型匹配。











