Порой можно привести значению любого массива к нужному виду запустив рекурсивно по его значениям прописанную функцию с помощь array_walk_recursive
array_walk_recursive(
$productsPrices,
function( & amp; $value) {
$value = $value / 0.85;
$value = round($value + $value / 10, 0, PHP_ROUND_HALF_UP);
}
);
$results = varexport($myArray, true);
Но запустив функцию микротайм можно увидеть, что данный рекурс съедает время, а порой для оптимизации это критично
$time_start = microtime(true);
$results = varexport($myArray, true);
$time_end = microtime(true);
$time = $time_end - $time_start;
Тогда приходит в голову логичная мысль, тупо распечатать этот преобразованный массив в простом виде и его так и впиндюлить в код, ну если его значения “константы” в человеческом смысле, а не программном, предположим цена продуктов.
Можно все это сделать с помощью вот этой подготовленной функции.
function varexport($expression, $return = FALSE) {
$export = var_export($expression, TRUE);
$export = preg_replace("/^([ ]*)(.*)/m", '$1$1$2', $export);
$array = preg_split("/\r\n|\n|\r/", $export);
$array = preg_replace(["/\s*array\s\($/", "/\)(,)?$/", "/\s=>\s$/"], [NULL, ']$1', ' => ['], $array);
$export = join(PHP_EOL, array_filter(["["] + $array));
if ((bool) $return) return $export;
else echo $export;
}
$results2 = varexport($hidPrices, true);