首页 >后端开发 >PHP问题 >php怎么让数组只保留键名

php怎么让数组只保留键名

青灯夜游
青灯夜游原创
2022-10-12 19:02:442153浏览

两种实现方法:1、使用array_keys()函数获取数组全部键名,语法“array_keys(数组)”;如果想要保留指定值的键名,则可设置第二和第三参数,语法“array_keys(数组,指定值,类型是否一致)”。2、利用foreach循环和一个空数组来获取数组全部键名,语法“foreach($arr1 as $k=>$v){$arr2[]=$k;}”。

php怎么让数组只保留键名

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

php让数组只保留键名的两种方法

方法1:使用array_keys()函数获取数组全部键名

array_keys() 函数可以获取数组中的部分或所有键名。

array_keys(array,value,strict)
参数 描述
array 必需。规定数组。
value 可选。您可以指定键值,然后只有该键值对应的键名会被返回。
strict 可选。与 value 参数一起使用。可能的值:
  • true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
  • false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。

当想获取全部键名时,只需设置第一个参数,将第二和第三个参数省略即可。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
var_dump($arr);
$keys=array_keys($arr);
echo "数组只保留键名:";
var_dump($keys);
?>

1.png

如果想要获取指定值的键名,则第二和第三个参数不省略

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("Name"=>"Peter","Age1"=>"41","Age2"=>41,"Country"=>"USA");
var_dump($arr);
$keys1=array_keys($arr,41);
echo "数组只保留键名:";
var_dump($keys1);
$keys2=array_keys($arr,41,true);
var_dump($keys2);
?>

4.png

方法2:利用foreach循环和一个空数组来获取数组全部键名

实现思想:

利用foreach循环遍历原数组的键名和键值,只将键名赋值给空数组即可。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array("aaa"=>11,"bbb"=>22,"ccc"=>33);
var_dump($arr1);
$arr2=array();
foreach($arr1 as $k=>$v){
    $arr2[]=$k;
}
echo "数组只保留键名:";
var_dump($arr2);
?>

3.png

推荐学习:《PHP视频教程

以上是php怎么让数组只保留键名的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn