6

我希望以更好的方式做到这一点,而无需将整数硬编码为$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,我仍然可以,我只是想知道是否有更好的方法来处理表面上看起来相对简单的事情!

4

1 回答 1

11

如果你只是想展平数组,你可以使用as参数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]);
于 2010-09-03T10:06:40.297 回答