php去掉一维数组的键值的实例方法

 在 PHP 中,数组的每个元素都是由键值对(key-value)组成,通过元素的键名来访问对应键的值。

提示:“索引”和“键名”指的是同一样东西,“索引”多指数组数字形式的下标。

有时候,我们需要去掉一维数组的键值(value),只留下数组的键名(key),这要怎么做?

此时,就可以使用array_keys()函数了。

array_key() 函数可以获取数组中的部分或所有键名,语法格式如下:

array_keys($array [, $search_value = null [, $strict = false]])

参数说明如下:

  • $array:必选参数,为待操作的数组;
  • $search_value:可选参数,如果参数为空,则函数会返回数组中的所有键名,如果指定了该参数,则函数就只会返回值为 $search_value 的键名;
  • $strict:可选参数,判断在搜索的时候是否使用严格模式,$strict 默认为 false,也就是非严格模式,在搜索时只比较类型,不比较类型,若将 $strict 设置为 true,也就是严格模式,在搜索时同时比较值和类型,等价于===。

array_key() 函数会以数组形式返回得到的数组键名。

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
        'name'  => 'PHP中文网',
        'url'   => 'https://www.php.cn/',
        'title' => 'PHP教程',
);
$key=array_keys($array);
var_dump($key);
?>

可以看到,去掉了一维数组的键值(value),只返回了一维数组的键名(key)。

内容扩展:

1、使用unset()函数可以用于取消设置关联数组中的键及其值。

// 声明关联数组
$arr = array(
    "1" => "加",
    "2" => "减",
    "3" => "乘",
    "4" => "除"
);
// 关联数组中删除键1及其值
unset($arr['1']);
// 显示数组元素
var_dump($arr);

2、使用array_diff_key()函数用于获取一个或多个数组之间的差集。

此函数比较一个或多个数组之间的键并返回它们之间的差集。

// 声明关联数组
$arr = array(
    "1" => "春",
    "2" => "夏",
    "3" => "秋",
    "4" => "冬",
);
// 从关联数组中删除键1及其值
$result = array_diff_key($arr,
    array_flip((array) ['1']));
// 显示数组元素
var_dump($result);

到此这篇关于php去掉一维数组的键值的实例方法的文章就介绍到这了,更多相关php怎么去掉一维数组的键值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-11-28

php自定义排序uasort函数示例【二维数组按指定键值排序】

本文实例讲述了php自定义排序uasort函数.分享给大家供大家参考,具体如下: 项目需要风险排序,按 I(安全)<L(低风险)<M(中风险)<H(高风险) 的级别来排序 由于H排在I的前面,所以不能直接用sort来排序,要自定义. 用uasort()函数来自定义排序: /* * 二维数组按指定键值排须 */ function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序//按 I<L<M<H

PHP实现通过二维数组键值获取一维键名操作示例

本文实例讲述了PHP实现通过二维数组键值获取一维键名操作.分享给大家供大家参考,具体如下: 有如下既定数组: $inviteType = [ '扫码' => [ 'type' => 0, 'point' => 5, ], '评论' => [ 'type' => 1, 'point' => 5, ], '分享' => [ 'type' => 2, 'point' => 10, ], '邀请' => [ 'type' => 3, 'point'

php数组键值用法实例分析

本文实例讲述了php数组键值用法.分享给大家供大家参考.具体分析如下: 先看一个数组: <?php $switching = array( 10, // key = 0 5 => 6, 3 => 7, 'a' => 4, 11, // key = 6 (整个数组中整型键索引最大的值是5) '8' => 2, // key = 8 (字符串健'8'转换为8) '02' => 77, // key = '02'(注意不是2) 0 => 12 /*前面值为10的键被赋予

PHP数组函数array_multisort()用法实例分析

本文实例分析了PHP数组函数array_multisort()用法.分享给大家供大家参考,具体如下: 有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题.我们可以使用array_multisort()这个函数.array_multisort() 函数对多个数组或多维数组进行排序. 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行

JS数组方法concat()用法实例分析

本文实例讲述了JS数组方法concat()用法.分享给大家供大家参考,具体如下: 数组方法concat() concat()可以基于当前数组中的所有项创建一个新数组.即这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组. 没有给concat方法传递参数的情况下,它只是复制当前数组并返回副本. 如果传递的是一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中 如果传递的值是不是数组,这些值会被简单的添加到数组的末尾 注意:该方法不会改变先后的数

JS数组方法reverse()用法实例分析

本文实例讲述了JS数组方法reverse()用法.分享给大家供大家参考,具体如下: reverse()方法 定义:反转数组项的顺序 语法: arr.reverse() 参数:/ 返回值:返回该数组的引用. 代码如下: var arr1 = [1, 2, 3, 4, 5, 6]; var arr2 = ['A', 'B', 'C']; var arr3 = ['AAA', 'BBB', 'CCC']; var arr4 = ['Hello', 'World']; Array.prototype.c

JS数组方法join()用法实例分析

本文实例讲述了JS数组方法join()用法.分享给大家供大家参考,具体如下: join()方法 定义和用法: join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. 语法:arrayObject.join(separator) 参数:可选,指定要使用的分隔符. 注:不给join()方法传入任何值,或者给它传入undefined,则使用逗号作为分隔符. IE7及更早版本会错误的使用字符串"undefined"作为分隔符. 数组中的某一项是null或u

JavaScript数组各种常见用法实例分析

本文实例讲述了JavaScript数组各种常见用法.分享给大家供大家参考.具体如下: 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x

JS数组方法slice()用法实例分析

本文实例讲述了JS数组方法slice()用法.分享给大家供大家参考,具体如下: slice()方法 slice(),它能基于当前数组中的一个或多个创建一个新数组.可以接受一或两个参数,即要返回的起始和结束位置. 一个参数:slice()方法返回从该参数指定位置开始到当前数组末尾的所有项. 两个参数:该方法返回起始和结束位置之间的项(但不包括结束位置的项). slice不会影响原始数组. 结束位置小于起始位置,返回空数组. 可以接受负数,用数组长度加上该负数来确定相应位置. var arr = [

Python iter()函数用法实例分析

本文实例讲述了Python iter()函数用法.分享给大家供大家参考,具体如下: python中的迭代器用起来非常灵巧,不仅可以迭代序列,也可以迭代表现出序列行为的对象,例如字典的键.一个文件的行,等等. 迭代器就是有一个next()方法的对象,而不是通过索引来计数.当使用一个循环机制需要下一个项时,调用迭代器的next()方法,迭代完后引发一个StopIteration异常. 但是迭代器只能向后移动.不能回到开始.再次迭代只能创建另一个新的迭代对象. 反序迭代工具:reversed()将返回

java队列之queue用法实例分析

Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构 Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Deque接 口. Queue的实现 1.没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: PriorityQueue 和 ConcurrentLinkedQueue PriorityQueue 和 Concurren