Wednesday, January 30, 2019

Kompresi Hasil Keluaran PHP `var_export` Tanpa Regex

Fungsi ini akan menghapus semua indentasi dan ganti baris pada hasil keluaran yang dihasilkan oleh PHP var_export untuk mengurangi alokasi memori penyimpanan data statis:

function minify_var_export($input) {
    if (is_array($input)) {
        $output = [];
        foreach ($input as $k => $v) {
            $output[] = var_export($k, true) . '=>' . minify_var_export($v);
        }
        return 'array(' . implode(',', $output) . ')';
    }
    return var_export($input, true);
}

Contoh Penggunaan

$test = [1, 2, ['a', 'b', 'c']];

$A = var_export($test, true);
$B = minify_var_export($test);

Hasil keluaran:

$A = array (
  0 => 1,
  1 => 2,
  2 => 
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
);

$B = array(0=>1,1=>2,2=>array(0=>'a',1=>'b',2=>'c'));

Referensi

Labels: ,

0 Comments:

Post a Comment

<< Home