[英]How to Merge Arrays within an Array
我有一个像这样的数组:
Array
(
[0] = Charcoal
[1] = Natural Gas
[2] = Combo
)
Array
(
[0] = Charcoal
[1] = Propane
[2] = Combo
)
Array
(
[0] = Charcoal
[1] = Propane
[2] = Natural Gas
[3] = Combo
)
Array
(
[0] = Natural Gas
)
Array
(
[0] = Natural Gas
[1] = Propane
)
Array
(
[0] = Propane
)
Array
(
[0] = 660 sq. inches
)
Array
(
[0] = 740 sq. inches
)
Array
(
[0] = 761 sq. inches
)
Array
(
[0] = 788 sq. inches
)
Array
(
[0] = 792 sq. inches
)
我希望它看起来像这样:
Array
(
[0] = Charcoal
[1] = Propane
[2] = Natural Gas
[3] = Combo
[4] = 660 sq. inches
[5] = 740 sq. inches
[6] = 761 sq. inches
[7] = 788 sq. inches
[8] = 792 sq. inches
)
我最近才学会了如何使用数组。 所以我尝试了数组合并..没有用。
您可以使用array_merge()
上的call_user_func_array()
来做到这一点:
$result = call_user_func_array('array_merge', $data);
因此,尽管您是正确的,但是您需要使用一些更棘手的方法来调用它(因为您需要将数组作为参数传递给array_merge()
)
另外,请注意,合并时无需对值进行唯一检查。 因此,如果要消除重复项,请应用array_uniqie()
:
$result = array_unique(call_user_func_array('array_merge', $data));
检查小提琴 。
您正在寻找的是将所有元素组合成一个数组,但每个唯一元素仅保留一次。 由于您有一个数组数组,因此需要使用每个子数组作为参数来调用array_merge()
。 您可以使用call_user_func_array()
进行此操作:
$merged = call_user_func_array('array_merge', $myArray);
然后使用array_unique()
将每个元素仅保留一次:
$merged = array_unique(call_user_func_array('array_merge', $myArray));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.