文档库 最新最全的文档下载
当前位置:文档库 › 用PHP将一个数组存到数据库的一个字段的方法

用PHP将一个数组存到数据库的一个字段的方法

用PHP将一个数组存到数据库的一个字段的方法
用PHP将一个数组存到数据库的一个字段的方法

用PHP将一个数组存到数据库的一个字段的方法

在工作项目中有一个需求,要把数一些数据转成数组,然后再存到数库库一个字段中,个人目前知道两种方法,一种是用序列化函数serialize($arr);,还有一种是用php的json扩展自带的函数json_encode($arr);。

要把数一个数组,存到数据库的一个字段中,有两种方法,一种是用序列化函数

serialize($arr);还有一种是用php的json扩展自带的函数json_encode($arr);如果

json_encode对含有中文的字符进行编码时,会自动转换成unicode编码。博狗https://www.wendangku.net/doc/3e8723649.html, 就像这样:a:2:{s:4:"code";s:1:"1:;s:3:"msg";s:9:"PHP日志";},虽然js上能正常处理,但是看起来还是不那爽,在PHP的官方网站上面找到一个函数,可以解决这个问题,也就是将数据转换json,而且中文不会被转换为unicode码。

代码如下

复制代码

<?php

function php2js($a=false)

{

if (is_null($a)) return 'null';

if ($a === false) return 'false';

if ($a === true) return 'true';

if (is_scalar($a))

{

if (is_float($a))

{

// Always use "." for floats.

$a = str_replace(",", ".", strval($a));

}

// All scalars are converted to strings to avoid indeterminism.

// PHP's "1" and 1 are equal for all PHP operators, but

// JS's "1" and 1 are not. So if we pass "1" or 1 from the PHP backend,

// we should get the same result in the JS frontend (string).

// Character replacements for JSON.

static $jsonReplaces = array(array("", "/", "n", "t", "r", "b", "f", '"'), array('\', '/', 'n', 't', 'r', 'b', 'f', '"'));

return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';

}

$isList = true;

for ($i = 0, reset($a); $i < count($a); $i++, next($a))

{

if (key($a) !== $i)

{

$isList = false;

break;

}

}

$result = array();

if ($isList)

{

foreach ($a as $v) $result[] = php2js($v);

return '[ ' . join(', ', $result) . ' ]';

}

else

{

foreach ($a as $k => $v) $result[] = php2js($k).': '.php2js($v); return '{ ' . join(', ', $result) . ' }';

}

}

?> $v) $result[] = php2js($k).': '.php2js($v);

return '{ ' . join(', ', $result) . ' }';

}

}

?>

使用方法一:

echo serialize(array(‘code"=>"1:,"msg"=>"PHP日志"));

输出:a:2:{s:4:"code";s:1:"1:;s:3:"msg";s:9:"PHP日志";}

使用方法二:

echo json_encode(array(‘code"=>"1:,"msg"=>"PHP日志"));

输出:{"code":"1:,"msg":"PHPu65e5u5fd7:}

使用方法三:

echo php2js(array(‘code"=>"1:,"msg"=>"未知错误"));

输出:{ "code": "1", "msg": "PHP日志" }

"1:,"msg"=>"PHP日志"));

输出:a:2:{s:4:"code";s:1:"1:;s:3:"msg";s:9:"PHP日志";}

使用方法二:

echo json_encode(array(‘code"=>"1:,"msg"=>"PHP日志"));

输出:{"code":"1:,"msg":"PHPu65e5u5fd7:}

使用方法三:

echo php2js(array(‘code"=>"1:,"msg"=>"未知错误"));

输出:{ "code": "1", "msg": "PHP日志" }

"PHP日志"));

输出:a:2:{s:4:"code";s:1:"1:;s:3:"msg";s:9:"PHP日志";}

使用方法二:

echo json_encode(array(‘code"=>"1:,"msg"=>"PHP日志"));

输出:{"code":"1:,"msg":"PHPu65e5u5fd7:}

使用方法三:

echo php2js(array(‘code"=>"1:,"msg"=>"未知错误"));

输出:{ "code": "1", "msg": "新濠天地娱乐城https://www.wendangku.net/doc/3e8723649.html, PHP日志" } "1:,"msg"=>"PHP日志"));

输出:{"code":"1:,"msg":"PHPu65e5u5fd7:}

使用方法三:

echo php2js(array(‘code"=>"1:,"msg"=>"未知错误"));

输出:{ "code": "1", "msg": "PHP日志" }

"PHP日志"));

输出:{"code":"1:,"msg":"PHPu65e5u5fd7:}

使用方法三:

echo php2js(array(‘code"=>"1:,"msg"=>"未知错误")); 输出:{ "code": "1", "msg": "PHP日志" } "1:,"msg"=>"未知错误"));

输出:{ "code": "1", "msg": "PHP日志" }

"未知错误"));

输出:{ "code": "1", "msg": "PHP日志" }

相关文档