如何使用JSON以外的方法将数组转换为字符串?

man*_*orn 52 php arrays string-conversion

除了使用JSON之外,PHP中用于将数组转换为字符串的函数是什么?

我知道有一个函数直接像JSON一样.我只是不记得了.

Mic*_*ski 76

serialize()是你正在寻找的功能.它将以特定于PHP的内部格式返回其输入数组或对象的字符串表示形式.字符串可以转换回其原始形式unserialize().

但请注意,并非所有对象都是可序列化的,或者某些对象可能只是部分可序列化且无法完全恢复unserialize().

$array = array(1,2,3,'foo');
echo serialize($array);

// Prints
a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;s:3:"foo";}
Run Code Online (Sandbox Code Playgroud)


Tje*_*les 46

使用implode()功能:

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
Run Code Online (Sandbox Code Playgroud)


T.T*_*dua 19

可读输出!

echo json_encode($array);     //outputs--->    "name1":"value1",  "name2":"value2",  ...
Run Code Online (Sandbox Code Playgroud)

要么

echo print_r($array, true);
Run Code Online (Sandbox Code Playgroud)


Dev*_*oot 7

您正在寻找serialize().这是一个例子:

$array = array('foo', 'bar');

//Array to String
$string = serialize($array);

//String to array
$array = unserialize($string);
Run Code Online (Sandbox Code Playgroud)


cas*_*tin 7

另一个不错的选择是http_build_query

$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&');
Run Code Online (Sandbox Code Playgroud)

会打印

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor
Run Code Online (Sandbox Code Playgroud)

更多信息请访问http://php.net/manual/en/function.http-build-query.php


小智 5

使用 phpimplode()serialize()