【发布时间】:2025-12-27 03:40:07
【问题描述】:
我有两个想要组合的值数组 - 但 PHP 提供的唯一方法似乎是通过键而不是值组合。这是我可以用来让它工作的黑客,但我想知道是否有更好的方法或我错过的本机功能。自从我上次使用数组以来已经有一段时间了,似乎有一个简单的答案。
//Input arrays that we want to combine into one array
$array = array(2, 3, 4, 5);
$array2 = array(5, 6, 1);
//Flip values and keys
$array = array_flip($array);
$array2 = array_flip($array2);
//Combine array
$array3 = $array2 + $array;
//flip array keys back to values
$array3 = array_keys($array3);
//Optional sort
sort($array3);
print_r($array3);
返回两个数组的组合值:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
【问题讨论】:
-
你知道两个相等的值会覆盖两个不同的键吗?
-
这就是重点。我正在尝试按值组合数组,而不考虑键(无论如何都是通过排序编写的)。
-
我对你的用例可能是什么很着迷。这是一个有趣的问题,但我对为什么要这样做?感到困惑
-
就像马克说的那样,“我假设您正在尝试组合 2 个数组而没有任何重复”。我有一个来自一个位置的整数数组和另一个来自另一个地方的数组,我需要将它们组合在一起而不重复。