I improved my previous varexport().<?phpfunction varexport($expression, $return=FALSE) { $export = var_export($expression, TRUE); $patterns = [ "/array \(/" => '[', "/^([ ]*)\)(,?)$/m" => '$1]$2', "/=>[ ]?\n[ ]+\[/" => '=> [', "/([ ]*)(\'[^\']+\') => ([\[\'])/" => '$1$2 => $3', ]; $export = preg_replace(array_keys($patterns), array_values($patterns), $export); if ((bool)$return) return $export; else echo $export;}$array = [ 'str' => 'Test spaces', 0 => 33, 1 => TRUE, [3,4,'d',[]], 'arr' => [ 'text with spaces' => '[Tes\'t"s": => [ => [ { spaces', ], "str2" => "Test's' } spaces", 'arr2' => [ 'text with spaces' => [ 'arr3' => [ 'text with spaces' => 'Te": "st \' => [ spaces', ], ], ],];varexport($array);```[ 'str' => 'Test spaces', 0 => 33, 1 => true, 2 => [ 0 => 3, 1 => 4, 2 => 'd', 3 => [ ], ], 'arr' => [ 'text with spaces' => '[Tes\'t"s": => [ => [ { spaces', ], 'str2' => 'Test\'s\' } spaces', 'arr2' => [ 'text with spaces' => [ 'arr3' => [ 'text with spaces' => 'Te": "st \' => [ spaces', ], ], ],]```NOTE: The only issue is when a string value has `=>\n[`, it will get converted to `=> [`