php怎么获取数组中的几个键
获取方法:1、用array_keys()函数,可以获取全部键,语法“array_keys(数组)”,也可获取指定值的键,语法“array_keys(数组,值,是否用严格模式)”。2、用array_key_first(),可获取第一个键,语法“array_key_first(数组)”。3、用array_key_last(),可获取最后一个键。4、用key(),可获取当前元素的键。
本教程操作环境:windows7系统、PHP8版、DELL G3电脑
php获取数组key(键名)的4种方法
方法1:使用array_keys()函数获取一个或多个键
array_key() 函数可以获取数组中的部分或所有键名(下标),该函数语法格式如下:
array_keys($array,$search_value,$strict)
参数说明如下:
- $array:必选参数,为待操作的数组;
- $search_value:可选参数,如果参数为空,则函数会返回数组中的所有键名,如果指定了该参数,则函数就只会返回值为 $search_value 的键名;
-
$strict:可选参数,判断在搜索的时候是否使用严格模式,$strict 默认为 false,也就是非严格模式,在搜索时只比较类型,不比较类型,若将 $strict 设置为 true,也就是严格模式,在搜索时同时比较值和类型,等价于
===
。
array_key() 函数会以数组形式返回得到的数组键名。
示例1:全部键名
<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr));
?>
示例2:指定值的键名
<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>80,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr,80));
var_dump(array_keys($arr,"80"));
var_dump(array_keys($arr,"80",true));
?>
方法2:使用array_key_first()函数获取指定数组的第一个键
array_key_first() 函数用于获取指定数组的第一个键(key),不会影响到原数组的内部指针。
该函数语法格式如下:
array_key_first ($array )
返回值:
返回 array 的第一个键(如果不为空),否则返回 null。
示例:
<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>80,"Clark"=>90);
var_dump($arr);
var_dump(array_key_first($arr));
?>
方法3:使用array_key_last()函数获取指定数组的最后一个键
array_key_last() 函数获取一个数组的最后一个键(key),不会影响到原数组的内部指针。
array_key_last ($array)
返回值:
返回 array 的最后一个键(如果不为空),否则返回 null。
示例:
<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>80,"Clark"=>90);
var_dump($arr);
var_dump(array_key_last($arr));
?>
方法4:使用key()函数获取当前元素的键
key() 函数可以返回数组内部指针当前指向元素的键名,即获得数组中当前元素的键名。
每个 PHP 数组内部都有一个指针,该指针指向数组的某个元素,这个被指向的元素就是“当前元素”。
示例:
<?php
$info = array(
'name' => '中文网',
'url' => 'http',
'age' => 8,
'desc' => '一个学习编程的网站',
'course' => 'PHP教程'
);
for ($i=0,$len=count($info); $i<$len; $i++) {
echo key($info) . "<br/>"; //输出内部指针指向的当前元素的键
next($info); // 将数组内部指针向后移动一位
}
?>
以上就是php怎么获取数组中的几个键的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341