利用PHP函数array_keys和array_values获取数组的键和值
PHP提供了一系列的数组函数,其中包括获取数组键和值的函数array_keys和array_values。本文将详细介绍这两个函数的使用方法和注意事项。
1. array_keys函数
array_keys函数用于返回数组中所有的键名(key),并将它们以数组的形式返回。
语法:
array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ) : array
参数说明:
array:必选参数,要取出键名的数组。
search_value:可选参数,指定要搜索的值。如果该参数被设置,则只返回包含该值的键名。
strict:可选参数,该参数指定在比较键名时是否区分大小写。默认为false,即不区分大小写。
返回值:
返回一个数组,包含所有的键名。如果指定了search_value,则只返回包含该值的键名。
示例:
假设有一个数组$arr=array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3"),如下所示:
<?php
$arr=array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3");
print_r(array_keys($arr)); //输出:Array ( [0] => key1 [1] => key2 [2] => key3 )
?>
上述代码中,调用array_keys函数,将数组$arr中的键名(key)全部取出,并以数组的形式返回。输出结果为包含所有键名的数组。
2. array_values函数
array_values函数用于返回数组中所有的值(value),并将它们以数组的形式返回。
语法:
array_values ( array $array ) : array
参数说明:
array:必选参数,要取出值的数组。
返回值:
返回一个数组,包含所有的值。
示例:
假设有一个数组$arr=array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3"),如下所示:
<?php
$arr=array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3");
print_r(array_values($arr)); //输出:Array ( [0] => value1 [1] => value2 [2] => value3 )
?>
上述代码中,调用array_values函数,将数组$arr中的值(value)全部取出,并以数组的形式返回。输出结果为包含所有值的数组。
注意事项:
1. array_keys和array_values函数的参数都是数组,如果传入的参数不是数组,会报错。
2. array_keys函数可以带有两个可选参数,其中第一个参数为要搜索的值,第二个参数为是否区分大小写的标志。
3. array_keys函数返回的是一个包含所有键名的数组,而array_values函数返回的是一个包含所有值的数组。
4. 在使用array_keys和array_values函数时需要注意,如果原数组的键名或值是数字,那么返回的数组的键名会重新从0开始编号。
总结:
PHP提供了很多数组函数,其中包括获取数组键和值的函数array_keys和array_values。array_keys函数可以返回数组中所有的键名,而array_values函数可以返回数组中所有的值。在使用这两个函数时,需要注意参数的正确性和返回值的格式。
