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: ,

Thursday, January 17, 2019

Fungsi Pembulatan pada XML Blogger

Pembulatan angka ke bawah:

<b:with value='5.2857' var='input'>
  <b:comment>Convert 5.2857 to 5.0000</b:comment>
  <b:with value='data:input - data:input % 1' var='output'>
    <b:eval expr='data:output'/>
  </b:with>
</b:with>

Referensi: https://www.facebook.com/igoynawamreh/posts/792777201056202

Labels: ,