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怎么去掉一维数组的键值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

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

  • 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数组键值用法.分享给大家供大家参考.具体分析如下: 先看一个数组: <?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去掉一维数组的键值的实例方法

     在 PHP 中,数组的每个元素都是由键值对(key-value)组成,通过元素的键名来访问对应键的值. 提示:"索引"和"键名"指的是同一样东西,"索引"多指数组数字形式的下标. 有时候,我们需要去掉一维数组的键值(value),只留下数组的键名(key),这要怎么做? 此时,就可以使用array_keys()函数了. array_key() 函数可以获取数组中的部分或所有键名,语法格式如下: array_keys($array [, $sea

  • php获取数组中键值最大数组项的索引值 原创

    本文实例讲述了php获取数组中键值最大数组项的索引值的方法.分享给大家供大家参考.具体分析如下: 一.问题: 从给定数组中获取值最大的数组项的键值.用途如:获取班级得分最高的学生的姓名. 二.解决方法: <?php /* * Created on 2015-3-17 * Created by www.jb51.net */ $arr=array('tom'=>9,'jack'=>3,'kim'=>5,'hack'=>4); asort($arr); //print_r($ar

  • php使用post数组的键值创建同名变量并赋值的方法

    本文实例讲述了php使用post数组的键值创建同名变量并赋值的方法.分享给大家供大家参考.具体如下: 这段代码可以自动根据post数组的键值创建同名变量,这个功能使用非常方便,不用提前声明变量 <?php $expected=array('username','age','city','street'); foreach($expected as $key){ if(!empty($_POST[$key])){ ${key}=$_POST[$key]; } else{ ${key}=NULL;

  • PHP实现根据数组某个键值大小进行排序的方法

    本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法.分享给大家供大家参考,具体如下: 问题:针对给定数组的某个键的键值进行排序 解决方法: //$a是排序数组,$b是要排序的数据集合,$result是最终结果 $b = array( array('name'=>'北京','nums'=>'200'), array('name'=>'上海','nums'=>'80'), array('name'=>'广州','nums'=>'150'), array('name'

  • js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: <script> var values=function(object) { var values = []; for (var property in object) values.push(object[property]); return values; } //写成标准的方法(数组是object的一种): function getObjectKeys(object) {

  • PHP如何删除关联数组中键值

    1.使用unset()函数可以用于取消设置关联数组中的键及其值. // 声明关联数组 $arr = array( "1" => "加", "2" => "减", "3" => "乘", "4" => "除" ); // 关联数组中删除键1及其值 unset($arr['1']); // 显示数组元素 var_dump($ar

  • PHP和JavaScrip分别获取关联数组的键值示例代码

    PHP版: 复制代码 代码如下: $o = array('x'=>1, 'y'=>2, 'z'=>3); $arr = array(); $i = 0; foreach( $o as $arr[$i++]=>$v )/*empty*/; var_dump($arr); //$arr = array('x', 'y', 'z'); JavaScrip版: 复制代码 代码如下: var o = {x:1, y:2, z:3}; var arr = [], i = 0; for ( ar

  • PHP二维数组实现去除重复项的方法【保留各个键值】

    本文实例讲述了PHP二维数组实现去除重复项的方法.分享给大家供大家参考,具体如下: 对于如下二维数组,要求对其进行去重: $arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array( 'name'=>'susu', 'age'=>26, ), '2'=>array( 'name'=>'james', 'age'=>30, ), 'new'=>array( 'name'=&

  • php对二维数组按指定键值key排序示例代码

    复制代码 代码如下: function array_sort($array, $key){ if(is_array($array)){ $key_array = null; $new_array = null; for( $i = 0; $i < count( $array ); $i++ ){ $key_array[$array[$i][$key]] = $i; } ksort($key_array); $j = 0; foreach($key_array as $k => $v){ $ne

  • php合并数组并保留键值的实现方法

    php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 array array_merge ( array $array1 [, array $... ] ) array_merge 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字索

随机推荐