php数组去掉相同的下标(三种方法)

PHPz
PHPz 原创
2023-04-05 15:06:02 162浏览

在PHP编程中,我们经常会遇到需要将数组中的相同下标去掉的情况,但不知道该如何实现。在本文中,我们将分享一些实用的方法来去掉PHP数组中的相同下标。

  1. 使用array_unique()函数
    array_unique()函数是PHP内置函数之一,可以用来去掉数组中的相同元素。但它不能直接用来去掉相同的下标。所以,我们可以通过将键名和键值互换的方式,再使用array_unique()来去除相同的键名。

示例代码:

<?php
$arr = array("a"=>1, "b"=>2, "c"=>2, "d"=>1);
$new_arr = array_unique(array_flip($arr));
print_r($new_arr);
?>

执行结果:

Array
(
    [1] => a
    [2] => b
)
  1. 使用array_keys()函数和array_flip()函数
    array_keys()函数可以返回数组中所有的键名,而array_flip()函数可以将数组中的键名和值互换。因此,结合使用这两个函数,我们可以实现删除相同键名的功能。

示例代码:

<?php
$arr = array("a"=>1, "b"=>2, "c"=>2, "d"=>1);
$new_arr = array_flip(array_keys(array_flip($arr)));
print_r($new_arr);
?>

执行结果:

Array
(
    [a] => 1
    [b] => 2
)
  1. 使用foreach()循环
    使用foreach()循环遍历数组,将每个元素的键名存入一个新的数组中,判断当前键名是否已经存在于新的数组中,若不存在,则将该键名和键值添加到新的数组中。

示例代码:

<?php
$arr = array("a"=>1, "b"=>2, "c"=>2, "d"=>1);
$new_arr = array();
foreach($arr as $key=>$value){
    if(!in_array($key,$new_arr)){
        $new_arr[$key] = $value;
    }
}
print_r($new_arr);
?>

执行结果:

Array
(
    [a] => 1
    [b] => 2
)

综上所述,本文介绍了三种去除PHP数组中相同下标的方法。使用的场景和需要达到的效果不同,可以根据实际情况选择相应的方法。

以上就是php数组去掉相同的下标(三种方法)的详细内容,更多请关注php中文网其它相关文章!

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