php将字符串转成json字符串数组,php-如何使用JSON以外的方法将数组转换为字符串?...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:50   2411   0

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

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

我知道有一个功能直接像JSON。 我只是不记得了。

8个解决方案

76 votes

unserialize()是您要寻找的功能。 它将以特定于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";}

Michael Berkowski answered 2020-01-19T00:47:48Z

45 votes

使用implode()函数:

$array = array('lastname', 'email', 'phone');

$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

Tjekkles answered 2020-01-19T00:48:08Z

19 votes

可读的输出!

echo json_encode($array); //outputs---> "name1":"value1", "name2":"value2", ...

要么

echo print_r($array, true);

T.Todua answered 2020-01-19T00:48:32Z

7 votes

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

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

//Array to String

$string = serialize($array);

//String to array

$array = unserialize($string);

DevelRoot answered 2020-01-19T00:48:52Z

7 votes

另一个不错的选择是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, '', '&');

将打印

foo=bar&baz=boom&cow=milk&php=hypertext+processor

foo=bar&baz=boom&cow=milk&php=hypertext+processor

此处有更多信息[http://php.net/manual/zh/function.http-build-query.php]

casivaagustin answered 2020-01-19T00:49:21Z

4 votes

使用php implode()或serialize()

umesh unnikrishnan answered 2020-01-19T00:49:41Z

3 votes

以漂亮的方式显示数组:

function arrayDisplay($input)

{

return implode(

', ',

array_map(

function ($v, $k) {

return sprintf("%s => '%s'", $k, $v);

},

$input,

array_keys($input)

)

);

}

$arr = array('foo'=>'bar',

'baz'=>'boom',

'cow'=>'milk',

'php'=>'hypertext processor');

echo arrayDisplay($arr);

显示:

foo => 'bar', baz => 'boom', cow => 'milk', php => 'hypertext processor'

Somnath Muluk answered 2020-01-19T00:50:05Z

3 votes

其中有些人给出了不同的方法来执行此操作。substr($dizin, 0, -1);exc ...您也可以编写没有这些内容的函数:

substr($dizin, 0, -1);循环非常有用。 您可以将数组的值添加到另一个变量中,如下所示:

$dizi=array('mother','father','child'); //This is array

$sayi=count($dizi);

for ($i=0; $i

$dizin.=("'$dizi[$i]',"); //Now it is string...

}

echo substr($dizin,0,-1); //Write it like string :D

?>

在此代码中,我们在$ dizin中添加了$ dizi的值和逗号:

substr($dizin, 0, -1);

现在

$dizin = 'mother', 'father', 'child',

这是一个字符串,但是有一个逗号:)

然后我们删除了最后一个逗号substr($dizin, 0, -1);

输出:

“母亲”,“父亲”,“孩子”

BARIS KURT answered 2020-01-19T00:51:00Z

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP