/** * 将数组转换为字符串 * * @param array $data 数组 * @param bool $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1 * @return string 返回字符串,如果,data为空,则返回空 */ function array2string($data, $isformdata = 1) { if ($data == '' || empty($data)) { return ''; } if ($isformdata) { $data = new_stripslashes($data); } if (strtolower(CHARSET) == 'gbk') { $data = mult_iconv("GBK", "UTF-8", $data); } if (version_compare(PHP_VERSION, '5.3.0', '<')) { return addslashes(json_encode($data)); } else { return addslashes(json_encode($data, JSON_FORCE_OBJECT)); } }
/** * 数组转码 * */ function mult_iconv($in_charset, $out_charset, $data) { if (substr($out_charset, -8) == '//IGNORE') { $out_charset = substr($out_charset, 0, -8); } if (is_array($data)) { foreach ($data as $key => $value) { if (is_array($value)) { $key = iconv($in_charset, $out_charset . '//IGNORE', $key); $rtn[$key] = mult_iconv($in_charset, $out_charset, $value); } elseif (is_string($key) || is_string($value)) { if (is_string($key)) { $key = iconv($in_charset, $out_charset . '//IGNORE', $key); } if (is_string($value)) { $value = iconv($in_charset, $out_charset . '//IGNORE', $value); } $rtn[$key] = $value; } else { $rtn[$key] = $value; } } } elseif (is_string($data)) { $rtn = iconv($in_charset, $out_charset . '//IGNORE', $data); } else { $rtn = $data; } return $rtn; }