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

发布于 2024-11-25 19:20:35 字数 84 浏览 2 评论 0原文

除了使用 JSON 之外,PHP 中还有什么函数可以将数组转换为字符串?

我知道有一个函数可以像 JSON 一样直接执行。我只是不记得了。

What is a function in PHP used to convert array to string, other than using JSON?

I know there is a function that directly does like JSON. I just don't remember.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

与风相奔跑 2024-12-02 19:20:35

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";}

serialize() is the function you are looking for. It will return a string representation of its input array or object in a PHP-specific internal format. The string may be converted back to its original form with unserialize().

But beware, that not all objects are serializable, or some may be only partially serializable and unable to be completely restored with 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";}
随波逐流 2024-12-02 19:20:35

使用 implode() 函数:

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone

Use the implode() function:

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
伴梦长久 2024-12-02 19:20:35

可读输出!

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

或者

echo print_r($array, true);

readable output!

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

OR

echo print_r($array, true);
跨年 2024-12-02 19:20:35

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

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

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

//String to array
$array = unserialize($string);

You are looking for serialize(). Here is an example:

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

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

//String to array
$array = unserialize($string);
ゞ花落谁相伴 2024-12-02 19:20:35

另一个不错的选择是 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/en/function.http-build-query.php

Another good alternative is 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, '', '&');

Will print

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

More info here http://php.net/manual/en/function.http-build-query.php

姐不稀罕 2024-12-02 19:20:35

使用 php implode()serialize()

use php implode() or serialize()

我一向站在原地 2024-12-02 19:20:35

以漂亮的方式显示数组:

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'

Display array in beautiful way:

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);

Displays:

foo => 'bar', baz => 'boom', cow => 'milk', php => 'hypertext processor'
虚拟世界 2024-12-02 19:20:35

他们中的一些人给出了不同的方法来做到这一点。
implode()、join()、var_export()、print_r()、serialize()、json_encode()ex...您也可以在没有这些的情况下编写自己的函数:

A For( ) 循环非常有用。您可以将数组的值添加到另一个变量,如下所示:

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

    $sayi=count($dizi);
    for ($i=0; $i<$sayi; $i++) {
        $dizin.=("'$dizi[$i]',"); //Now it is string...
    }
         echo substr($dizin,0,-1); //Write it like string :D
?>

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

$dizin.=("'$dizi[$i]',");

现在

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

它是一个字符串,但它有一个额外的逗号:)

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

输出:

“妈妈”、“爸爸”、“孩子”

There are different ways to do this some of them has given.
implode(), join(), var_export(), print_r(), serialize(), json_encode()exc... You can also write your own function without these:

A For() loop is very useful. You can add your array's value to another variable like this:

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

    $sayi=count($dizi);
    for ($i=0; $i<$sayi; $i++) {
        $dizin.=("'$dizi[$i]',"); //Now it is string...
    }
         echo substr($dizin,0,-1); //Write it like string :D
?>

In this code we added $dizi's values and comma to $dizin:

$dizin.=("'$dizi[$i]',");

Now

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

It's a string, but it has an extra comma :)

And then we deleted the last comma, substr($dizin, 0, -1);

Output:

'mother','father','child'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文