function array_to_String($array, $level = 0) { if (!is_array($array)) { return "'" . $array . "'"; } $space = ''; for ($i = 0; $i <= $level; $i++) { $space .= "\t"; } $arr = "Array\n{$space}(\n"; $c = $space; foreach ($array as $k => $v) { $k = is_string($k) ? '\'' . addcslashes($k, '\'\\') . '\'' : $k; $v = !is_array($v) && (!preg_match("/^\\-?[1-9]\\d*\$/", $v) || strlen($v) > 12) ? '\'' . addcslashes($v, '\'\\') . '\'' : $v; if (is_array($v)) { $arr .= "{$c}{$k}=>" . array_to_String($v, $level + 1); } else { $arr .= "{$c}{$k}=>{$v}"; } $c = ",\n{$space}"; } $arr .= "\n{$space})"; return $arr; }
/** * 创建缓存数据 * @param string $name 缓存变量名 * @param void $data 需要缓存数据 * @return string 缓存数据 */ public function createCatchData($name, $data) { $name = "cache_" . md5_d($name); $str = ''; if (is_array($data)) { $str .= "\${$name} = " . array_to_String($data); } else { $str .= "\${$name} = '" . addcslashes($data, '\'\\') . '\''; } return $str . ";\r\n"; }