php删除数组的键值

PHPz
发布: 2023-05-22 20:45:36
原创
317人浏览过

php 是一种非常流行的 web 开发语言,而数组是 php 中最常用的数据结构之一。在处理数组时,有时需要删除数组中的一个或多个键值,让剩下的键值重新排列并重新索引。本文将介绍在 php 中删除数组键值的方法。

  1. unset() 函数

PHP 中的 unset() 函数可以用来删除一个或多个变量,包括数组键值。如果仅删除数组中的某个键值,那么该键值所在的元素将会被删除,而其他元素的键值不会重新索引。

以下是示例代码:

<?php
$fruits = array("apple", "banana", "cherry");
unset($fruits[1]);  // 删除键值为 1 的元素(即 banana)
print_r($fruits);   // 输出: Array ( [0] => apple [2] => cherry )
?>
登录后复制

这里的 $fruits 数组中有三个元素,其键值分别为 0、1 和 2。使用 unset() 函数删除键值为 1 的元素(即 "banana")后,输出结果中只有两个元素,它们的键值为 0 和 2。

如果要删除多个键值,可以使用逗号分隔它们,或将键值作为值放到一个数组中。

立即学习PHP免费学习笔记(深入)”;

以下是示例代码:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
unset($fruits[1], $fruits[3]);  // 删除键值为 1 和 3 的元素(即 banana 和 durian)
print_r($fruits);               // 输出: Array ( [0] => apple [2] => cherry )
 
unset($fruits[0], $fruits[2]);  // 删除键值为 0 和 2 的元素(即 apple 和 cherry)
print_r($fruits);               // 输出: Array ( )
 
$fruits = array("apple", "banana", "cherry", "durian");
unset($fruits[1], $fruits[3]);  // 删除键值为 1 和 3 的元素(即 banana 和 durian)
print_r(array_values($fruits)); // 输出: Array ( [0] => apple [1] => cherry )
?>
登录后复制

这里的 $fruits 数组中有四个元素,其键值分别为 0、1、2 和 3。分别使用 unset() 函数删除键值为 1 和 3 的元素后,输出结果中只有两个元素,它们的键值为 0 和 2。

如果要让剩下的元素重新索引,可以使用 array_values() 函数,该函数返回一个新的数组,其中所有键值都按顺序排列。

  1. array_splice() 函数

PHP 中的 array_splice() 函数可以用来在数组中删除一个或多个元素,并将剩下的元素重新索引。该函数的第一个参数是要操作的数组,第二个参数是开始删除元素的位置,第三个参数是要删除的元素数量,第四个参数是可选的要插入的新元素。

以下是示例代码:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
array_splice($fruits, 1, 2);  // 从位置 1 开始删除 2 个元素(即 banana 和 cherry)
print_r($fruits);            // 输出: Array ( [0] => apple [1] => durian )
?>
登录后复制

这里的 $fruits 数组中有四个元素,其键值分别为 0、1、2 和 3。使用 array_splice() 函数从位置 1 开始删除 2 个元素(即 "banana" 和 "cherry")后,输出结果中只有两个元素,它们的键值为 0 和 1。

如果要让剩下的元素重新索引,可以在删除元素前使用 array_values() 函数。

  1. array_filter() 函数

PHP 中的 array_filter() 函数可以用来过滤数组中的元素,并返回一个新数组(默认情况下,原数组不会被修改)。该函数的第一个参数是要过滤的数组,第二个参数是可选的回调函数,用来对每个元素进行测试,并返回 true 或 false。

以下是示例代码:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
$fruits = array_filter($fruits, function($value, $key) {
    return $key != 1 && $key != 2;  // 删除键值为 1 和 2 的元素(即 banana 和 cherry)
}, ARRAY_FILTER_USE_BOTH);
print_r($fruits);  // 输出: Array ( [0] => apple [3] => durian )
?>
登录后复制

这里的 $fruits 数组中有四个元素,其键值分别为 0、1、2 和 3。使用 array_filter() 函数和回调函数删除键值为 1 和 2 的元素后,输出结果中只有两个元素,它们的键值为 0 和 3。

如果要让剩下的元素重新索引,可以在使用 array_filter() 函数后使用 array_values() 函数。

总结

以上是在 PHP 中删除数组键值的三种方法。根据具体情况选择合适的方法可以提高代码的效率和可读性。需要注意:在使用 unset() 函数或 array_splice() 函数时,删除的键值将不再存在于数组中,而在使用 array_filter() 函数时,则会重新索引数组。

以上就是php删除数组的键值的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号