TreeviewCopyright © aleen42 all right reserved, powered by aleen42
键名和键值
array_key_exists—检查给定的键名或索引是否存在于数组中
语法
bool array_key_exists( mixed $key, array $search)
描述
- array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。
参数
参数 | 描述 |
---|---|
key | 要检查的键 |
search | 一个数组,包含待检查的键 |
返回值
- 成功时返回 TRUE, 或者在失败时返回 FALSE
举例
// 示例
$key_value_array_assoc = ['name' => '张三', 'age' => 18, 'email' => 'google@qq.com', 'address' => '山东省济南市', 'number' => 1];
$result = array_key_exists('name', $key_value_array_assoc);
var_dump($result);
// 结果
bool(true)
array_keys — 返回数组中部分的或所有的键名
语法
array array_keys( array $array[, mixed $search_value[, bool $strict = false]] )
描述
- array_keys() 返回 array 数组中的数字或者字符串的键名。如果指定了可选参数 search_value,则只返回该值的键名。否则 array 数组中的所有键名都会被返回。
参数
参数 | 描述 |
---|---|
array | 一个数组,包含了要返回的键 |
search_value | 如果指定了这个参数,只有包含这些值的键才会返回 |
strict | 判断在搜索的时候是否该使用严格的比较(===) |
返回值
- 根据参数返回相应的键
举例
$key_value_array_assoc = ['name' => '张三', 'age' => 18, 'email' => 'google@qq.com', 'address' => '山东省济南市', 'number' => 1];
$key_value_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// 示例1-不指定键名,返回所有键
$result = array_keys($key_value_array_assoc);
print_r($result);
// 结果
Array
(
[0] => name
[1] => age
[2] => email
[3] => address
[4] => number
)
// 示例2-指定键名,返回相应的键
$result = array_keys($key_value_array_assoc, '张三');
print_r($result);
// 结果
Array
(
[0] => name
)
// 示例3-和示例4做对比
$result = array_keys($key_value_array_assoc, '1');
print_r($result);
// 结果
Array
(
[0] => number
)
// 示例4-开启严格模式
$result = array_keys($key_value_array_assoc, '1', true);
print_r($result);
// 结果
Array
(
)
// 示例5-测试不存在的键
$result = array_keys($key_value_array_assoc, '测试没有对应的key,这里可以作为判断用');
print_r($result);
// 结果
Array
(
)
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
语法
mixed array_search( mixed $needle, array $haystack[, bool $strict = false] )
描述
- 在 haystack 中搜索 needle 参数
参数
参数 | 描述 |
---|---|
needle | 搜索的值,Note: 如果needle是字符串,则比较以区分大小写的方式进行 |
haystack | 这个数组 |
strict | 如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。这意味着同样检查 haystack 里 needle 的 类型,并且对象需是同一个实例 |
返回值
- 如果找到了 needle 则返回它的键,否则返回 FALSE
- 如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替
- 应使用 === 运算符来测试此函数的返回值
举例
// 示例1
$key_value_array_assoc = ['name' => '张三', 'age' => 18, 'email' => 'google@qq.com', 'address' => '山东省济南市', 'number' => 1];
$result = array_search('张三', $key_value_array_assoc);
var_dump($result);
$result = array_search('张三2', $key_value_array_assoc);
var_dump($result);
// 结果
string(4) "name"
bool(false)
array_values — 返回数组中所有的值
语法
array array_values( array $input)
描述
- array_values() 返回 input 数组中所有的值并给其建立数字索引
参数
参数 | 描述 |
---|---|
input | 这个数组 |
返回值
- 返回含所有值的索引数组
举例
// 示例
$key_value_array_assoc = ['name' => '张三', 'age' => 18, 'email' => 'google@qq.com', 'address' => '山东省济南市', 'number' => 1];
$result = array_values($key_value_array_assoc);
print_r($result);
// 结果
Array
(
[0] => 张三
[1] => 18
[2] => google@qq.com
[3] => 山东省济南市
[4] => 1
)
array_flip — 交换数组中的键和值
语法
array array_flip( array $trans)
描述
- array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名
- 注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转
- 如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了
参数
参数 | 描述 |
---|---|
trans | 要交换键/值对的数组 |
返回值
- 成功时返回交换后的数组,如果失败返回 NULL
举例
// 示例 $key_value_array_assoc = ['name' => '张三', 'age' => 18, 'email' => 'google@qq.com', 'address' => '山东省济南市', 'number' => 1]; $result = array_flip($key_value_array_assoc); print_r($result); // 结果 Array ( [张三] => name [18] => age [google@qq.com] => email [山东省济南市] => address [1] => number )