我正在寻找一种更好的方法,而无需对$justPrices[$i]
的整数进行硬编码:
$pricesResult = array_merge($justPrices[0], $justPrices[1], $justPrices[2], $justPrices[3]);
$justPrices
是一个多维数组,每个数组中包含4个价格“带”。 $justPrices
的数据例如:Array ( [0] => Array ( [0] => 40.95 [1] => 39.95 [2] => 39.45 [3] => 38.95 ) [1] => Array ( [0] => 45.80 [1] => 41.80 [2] => 41.50 [3] => 41.40 ) [2] => Array ( [0] => 45.95 [1] => 42.95 [2] => 41.95 [3] => 41.45 ) [3] => Array ( [0] => 50.00 [1] => 50.00 [2] => 50.00 [3] => 50.00 ) )
问题是
$justPrices
中的数组数量至少从2到10+不等。因此,我需要一种方法,使array_merge()
函数的参数根据$justPrices
中的数组数量而变化。我将使用这种简单的方法来获取$justPrices
中的数组数量:$justPricesMax = count($justPrices);
我可以编写一个
for loop
,但我可能仍然想知道是否有更好的方法来处理表面上相对简单的内容! 最佳答案
如果只想展平数组,则可以使用 call_user_func_array
以array_merge
的元素作为参数来调用$justPrices
:
$flat = call_user_func_array('array_merge', $justPrices);
这等效于一个函数调用:
$flat = array_merge($justPrices[0], $justPrices[1], … , $justPrices[count($justPrices)-1]);