//导出php数组,以[]为标识符而不是以array() if (!function_exists('varExport')) { //导出php数组,以[]为标识符而不是以array() function varExport($var) { echo '<meta charset="utf-8" />'; $traces = debug_backtrace(); $varNames = []; foreach ($traces as $trace) { if (isset($trace['function']) && in_array($trace['function'], array('varExport'))) { echo $trace['file'] . ':' . $trace['line'] . " "; if (file_exists($trace['file'])) { $vars = file($trace['file'])[$trace['line']-1]; preg_match('/varExport(([$w, ]+))/i', $vars, $matches); $varNames = !empty($matches[1]) ? explode(',', $matches[1]) : []; } break; } } $exporter = function ($var, $indent = "") use (&$exporter) { switch (gettype($var)) { case "string": return '"' . addcslashes($var, "\$" vf") . '"'; case "array": $self = $exporter; $indexed = array_keys($var) === range(0, count($var) - 1); $r = []; foreach ($var as $key => $value) { $r[] = "$indent " . ($indexed ? "" : $self($key) . " => ") . $self($value, "$indent "); } return "[ " . implode(", ", $r) . " " . $indent . "]"; case "boolean": return $var ? "TRUE" : "FALSE"; default: return var_export($var, true); } }; echo '<pre>'; array_map(function ($var, $varName) use ($exporter) { $varName = !empty($varName) ? trim($varName) . ' = ' : ''; $endChar = !empty($varName) ? ';' : ''; echo $varName . $exporter($var) . $endChar . " "; }, func_get_args(), $varNames); echo '</pre>'; } }
代码输出:
/data1/www/xxxxx/XxxxController.php:265 $channelList = [ [ "iChannelID" => "", "sChannelName" => "全部" ], [ "iChannelID" => 1, "sChannelName" => "腾讯" ], [ "iChannelID" => 2, "sChannelName" => "淘宝" ], [ "iChannelID" => 3, "sChannelName" => "百度" ] ];