当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP array_keys()和array_key_exists()的区别用法及代码示例


下面的文章指出了两个内置函数之间的区别array_keys()array_key_exists()在 PHP 中。

array_keys()

array_keys() 函数用于返回所有键或数组键的子集。此函数适用于索引数组和关联数组。

用法

array_keys(array, value, strict);

参数

  • array:带有要检查的键的数组。
  • value: 要检索其键的值。
  • strict: 用于检查变量的数据类型是否的参数。

示例 1:此示例说明了 PHP 中 array_keys() 函数的基本用法。

PHP


<?php
$arr = array(
    "Java" => "SpringBoot",
    "PHP 4.0" => "CodeIgniter",
    "Python" => "Django",
    "PHP 3.0" => "CodeIgniter"
);
// Searching for keys of codeigniter
$key1 = array_keys($arr, "CodeIgniter");
print("Keys for CodeIgniter : ");
print_r($key1);
print("</br>");
// Searching for keys of wordpress
$key2 = array_keys($arr, "WordPress");
print("Keys for WordPress : ");
print_r($key2);
?>

输出:

Keys for CodeIgniter : Array ( [0] => PHP 4.0 [1] => PHP 3.0 )
Keys for WordPress : Array ( )

示例 2:这是另一个说明 PHP 中 array_keys() 函数的基本用法的示例。

PHP


<?php
$arr = array(1, 2, 3, 4, 5);
// Searching for keys of string 5
// using strict parameter true
$key1 = array_keys($arr, "5", true);
print ("Keys for '5' : ");
print_r($key1);
echo ("</br>");
// Searching for keys of string 5
// using strict parameter false
$key2 = array_keys($arr, "5", false);
print ("Keys for '5' : ");
print_r($key2);
?>

输出:

Keys for '5' : Array ( )
Keys for '5' : Array ( [0] => 4 )

array_key_exists()函数

array_key_exists() PHP 中的方法用于验证数组中的指定键。如果数组中存在该键,则返回布尔值“true”;如果该键不存在,则返回“false”。

用法

array_key_exists(key, array);

参数

  • key: 要检查的值。
  • array: 带有要检查的键的数组。

示例 1:此示例说明了 PHP 中 array_key_exists() 函数的基本用法。

PHP


<?php
$arr = array(1, 2, 3, 4, 5);
// Searching for keys of string 5
$key1 = array_key_exists('4', $arr);
if ($key1)
{
    echo ("Key exists");
}
else
{
    echo ("Key does not exist");
}
?>

输出:

key exists

示例 2:这个例子演示了PHP中的array_key_exists()函数,基于一些 保存键值对的数组中的键。

PHP


<?php
$myarray = array(
    "ram" => 25,
    "krishna" => 10,
    "aakash" => 20,
    "gaurav"
);
// Searching for keys
$key1 = array_key_exists('krishna', $myarray);
if ($key1)
{
    echo ("Key exists" . " for 'krishna'");
}
else
{
    echo ("Key does not exist");
}
print_r("<br>");
$key2 = array_key_exists('balram', $myarray);
if ($key2)
{
    echo ("Key exists" . " for 'balram'");
}
else
{
    echo ("Key does not exist" . " for 'balram'");
}
?>

输出:

Key exists for 'krishna'
Key does not exist for 'balram'

示例 3:此示例演示了 PHP 中的 array_key_exists() 函数$索引用户的值。

PHP


<?php
$myarray = array(
    "ram",
    "krishna",
    "aakash",
    "gaurav"
);
$index1 = 1;
$key1 = array_key_exists($index1, $myarray);
if ($key1)
{
    echo ("Key exists for index " . $index1);
}
else
{
    echo ("Key does not exist for index " . $index1);
}
print_r("<br>");
$index2 = 5;
$key2 = array_key_exists($index2, $myarray);
if ($key2)
{
    echo ("Key exists for index " . $index2);
}
else
{
    echo ("Key does not exist for index " . $index2);
}
?>

输出:

Key exists for index 1
Key does not exist for index 5

array_keys() 和 array_key_exists() 方法之间的差异

array_keys()方法

array_key_exists()方法

它检查相应的值是否映射到数组中的任何键。 它检查数组中是否存在某个键。
它返回一个数组。 它返回一个布尔值。
它适用于单维和多维数组。 它仅适用于uni-dimensional 数组。
它可用于使用严格参数来匹配数据类型 它可用于匹配唯一值
如果 value 参数为空,它还可以用于检索数组的所有键。 它只是检查数组中指定的键。


相关用法


注:本文由纯净天空筛选整理自yashchuahan大神的英文原创作品 What are the differences between array_keys() and array_key_exists() in PHP ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。