首页  >  文章  >  后端开发  >  php判断值在哪一个数组

php判断值在哪一个数组

WBOY
WBOY原创
2023-05-05 14:43:50518浏览

在PHP编程中,经常需要判断一个值是否存在于一个数组中。如果数组中存在该值,通常需要获取该值在数组中的位置或键名。本文将介绍在PHP中如何判断一个值是否存在于一个数组中,并获取该值在数组中的位置或键名。

一、PHP in_array()函数

PHP提供了一个in_array()函数,用于判断一个值是否存在于一个数组中。该函数的语法如下:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle表示要查找的值,$haystack表示要查找的数组,$strict表示是否开启严格模式,默认为false,即不开启严格模式。开启严格模式后,需要同时比较数值和类型。

该函数的返回值为布尔值,即如果$needle存在于$haystack中,则返回true,否则返回false。

示例1:检查一个整数是否存在于一个数组中

$numbers = array(1, 2, 3, 4, 5);
if (in_array(3, $numbers)) {

echo "3 is found in the array";

} else {

echo "3 is not found in the array";

}
?>

输出结果为:3 is found in the array

示例2:检查一个字符串是否存在于一个数组中

$fruits = array("apple", "banana", "orange", "pear");
if (in_array("orange", $fruits)) {

echo "orange is found in the array";

} else {

echo "orange is not found in the array";

}
?>

输出结果为:orange is found in the array

二、PHP array_search()函数

在某些情况下,需要获取一个值在数组中的位置或键名。PHP提供了一个array_search()函数,用于获取一个值在数组中的位置或键名。该函数的语法如下:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle表示要查找的值,$haystack表示要查找的数组,$strict表示是否开启严格模式,默认为false,即不开启严格模式。开启严格模式后,需要同时比较数值和类型。

该函数的返回值为查找到的键名,如果没有找到,则返回false。

示例1:获取一个整数在数组中的位置

$numbers = array(1, 2, 3, 4, 5);
$key = array_search(3, $numbers);
echo "3 is found at position " . $key;
?>

输出结果为:3 is found at position 2

示例2:获取一个字符串在数组中的键名

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange", "pear" => "green");
$key = array_search("orange", $fruits);
echo "orange is found with key " . $key;
?>

输出结果为:orange is found with key orange

三、PHP array_keys()函数

如果需要获取一个数组中所有包含某个值的键名,可以使用PHP的array_keys()函数。该函数的语法如下:

array array_keys ( array $array , mixed $search_value [, bool $strict = FALSE ] )

其中,$array表示要查找的数组,$search_value表示要查找的值,$strict表示是否开启严格模式,默认为false,即不开启严格模式。开启严格模式后,需要同时比较数值和类型。

该函数的返回值为一个包含所有符合条件的键名的数组。

示例1:获取一个整数在数组中所有的位置

$numbers = array(1, 2, 3, 4, 5, 3, 6);
$keys = array_keys($numbers, 3);
echo "The value 3 is found at positions: ";
foreach ($keys as $key) {

echo $key . " ";

}
?>

输出结果为:The value 3 is found at positions: 2 5

示例2:获取一个字符串在数组中所有的键名

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange", "pear" => "green", "mango" => "yellow");
$keys = array_keys($fruits, "yellow");
echo "The value yellow is found with keys: ";
foreach ($keys as $key) {

echo $key . " ";

}
?>

输出结果为:The value yellow is found with keys: banana mango

四、结论

PHP提供了多种方法来判断一个值是否存在于一个数组中,并获取该值在数组中的位置或键名。使用in_array()函数可以轻松判断一个值是否存在于一个数组中;使用array_search()函数可以获取一个值在数组中的位置或键名;使用array_keys()函数可以获取一个数组中所有包含某个值的键名。根据实际需求,选用不同的方法可以更加方便地完成任务。

以上是php判断值在哪一个数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn