php 多个 一维数组 去重 组成新数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 多个 一维数组 去重 组成新数组相关的知识,希望对你有一定的参考价值。

因为以前代码使用的是循环数组的代码所以导致输出了多个数组

如$info有三个值,那么循环之后print_r就出来三个数组

如 foreach ($info as $temp)

print_r输出的代码是:
Array(
[0] => aaa1 [1] => aaa2 [2] => aaa3
)
Array(
[0] => aaa2 [1] => aaa3 [2] => aaa4
)
Array(
[0] => aaa3 [1] => aaa4 [2] => aaa5
)

如何把多个一维数组转换成一个数组,最好去重复,
最后结果要
Array(
[0] => aaa1
[1] => aaa2
[2] => aaa3
[3] => aaa4
[4] => aaa5
)

参考技术A $class1 = array("John" => 100, "James" => 85);
$class2 = array("Micky" => 78, "John" => 45);
$classScores = array_merge_recursive($class1, $class2);
print_r($classScores);

多看看手册追问

$arr = array_flip(array_flip(array_merge($arr,$append)));
print_r($arr);

问题说明了前面用了循环导致后面出现三个数组,但那三个数组都是没有数组名

有数组名我自己也写出去重代码

php高效率对一维数组进行去重

$input = array("a" => "green", "red", "b" => "green", "blue", "red");

//常见做法:
$result = array_unique($input);
print_r($result);

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

//效率提升:
/*
 * 第一种
 *  思路:键值互换,达到去重目的,但是结果集中键值可能并不是按照数字索引的,可通过array_merge重新生成索引
*/
$result_01 = array_flip($input);
$result_02 = array_flip($result_01);
$result    = array_merge($result_02);

/*
 * 第二种
 * 思路:键值互换,通过array_key直接获取键值,比array_merge()更快
*/
$result_01 = array_flip($input);
$result    = array_key($result_01);

 

以上是关于php 多个 一维数组 去重 组成新数组的主要内容,如果未能解决你的问题,请参考以下文章

php 一维数组去重

php 一个二维数组求二维数组内的并集

php中一维或多维数组去除重复项

php 一维数组去重

c语言中一个一维数组怎样去重?

php高效率对一维数组进行去重