Я ищу, чтобы сделать это лучше, без необходимости $justPrices[$i]
кодирования целых чисел для $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]);