How to convert array to a string using methods other than JSON?

后端 未结 8 2101
臣服心动
臣服心动 2020-12-01 13:32

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.

相关标签:
8条回答
  • 2020-12-01 14:02

    Use the implode() function:

    $array = array('lastname', 'email', 'phone');
    $comma_separated = implode(",", $array);
    echo $comma_separated; // lastname,email,phone
    
    0 讨论(0)
  • 2020-12-01 14:03

    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

    0 讨论(0)
  • 2020-12-01 14:06

    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'

    0 讨论(0)
  • 2020-12-01 14:08

    use php implode() or serialize()

    0 讨论(0)
  • 2020-12-01 14:11

    readable output!

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

    OR

    echo print_r($array, true);
    
    0 讨论(0)
  • 2020-12-01 14:14

    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";}
    
    0 讨论(0)
提交回复
热议问题