php中有两个函数用来判断数组中是否包含指定的键,分别是和isset
array_key_exists语法如下
array_key_exists($key, $array)
如果键存在返回true isset函数语法如下
isset($array[$key])
如果键存在返回true
演示代码如下:
<?php
$array = array("Zero"=>"PHP", "One"=>"Perl", "Two"=>"Java");
print("Is 'One' defined? ".array_key_exists("One", $array)."
");
print("Is '1' defined? ".array_key_exists("1", $array)."
");
print("Is 'Two' defined? ".isset($array["Two"])."
");
print("Is '2' defined? ".isset($array[2])."
");
?>返回结果如下:
Is 'One' defined? 1 Is '1′ defined? Is 'Two' defined? 1 Is '2′ defined?
2. 数组键名的一些使用小技巧
$arr[true] 等价于 $arr[1];$arr[false] 等价于 $arr[0]。
使null做为键名,相当于创建或覆盖一个$arr[null],可以使用$arr[null]或$arr[""]来访问。
使用带小数点的数字作为键名时,键名会自动截取整数部分作为键名。如$arr[123.45]=5,你使用$arr[123.45]或$arr[123]均可以取得键值;用foreach遍历时,使用的是$arr[123]。
$arr[]=5,会在数组$arr后面添加上该元素。
注:数组中键名的为整数或字符串型
3. 数组根据值获取键名
根据值获取键名功能,主要有两个可以使用。 和 ,用于处理返回单个键名和多个键名。
具体范例如下:
<?php
/**
* php array get key by value
* php数组根据值获取键名
*/
$items = array(
"banana" => "fruit",
"tomato" => "vegetable",
"lentil" => "bean",
"apple" => "vegetable"
);
//1.返回一个键名,如果值有重复返回第一个键名
$key = array_search('vegetable', $items);
echo $key;//tomato
//2.返回多个键名
$keys=array_keys($items,'vegetable');
print_r($keys);
/*
Array
(
[0] => tomato
[1] => apple
)
*/
?>| 欢迎光临 一起源码网 (https://www.171739.xyz/) | Powered by Discuz! X3.3 |