Frage

Was ist eine Funktion in PHP zu konvertieren array nach string, andere als die Verwendung von JSON?

Ich weiß, es ist eine Funktion, die direkt tut, wie JSON.Ich erinnere mich nicht daran.

War es hilfreich?

Lösung

serialize() ist die Funktion, nach der Sie suchen. Es wird eine String-Darstellung seines Eingabearrays oder Objekts in einem PHP-spezifischen internen Format zurückgegeben. Die Zeichenfolge kann mit ihrer ursprünglichen Form mit mit unserialize().

Achten Sie jedoch darauf, dass nicht alle Objekte serialisierbar sind oder einige möglicherweise nur teilweise serialisierbar sind und nicht vollständig wiederhergestellt werden können 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";}

Andere Tipps

Verwenden Sie das implode() Funktion:

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

lesbare Ausgabe!

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

ODER

echo print_r($array, true);

Du suchst nach serialize (). Hier ist ein Beispiel:

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

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

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

Eine weitere gute Alternative ist 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, '', '&');

Wird drucken

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

Weitere Informationen hier http://php.net/manual/en/function.http-build-query.php

Verwenden Sie PHP implode() oder serialize()

Anzeige Array auf schöne Weise:

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

Anzeigen:

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

Es gibt verschiedene Möglichkeiten, dies zu tun, einige von Ihnen gegeben hat.implode(), join(), var_export(), print_r(), serialize(), json_encode()exc...Sie können auch schreiben Sie Ihre eigene Funktion, ohne diese:

Ein For() Schleife ist sehr nützlich.Sie können Ihren array-Wert in eine andere variable wie diese:

<?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 diesem code Hinzugefügt wird $dizi Werte und Komma zu $dizin:

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

Jetzt

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

Es ist ein string, aber es hat ein zusätzliches Komma :)

Und dann haben wir gelöscht die Letzte Komma, substr($dizin, 0, -1);

Ausgabe:

'Mutter','Vater','Kind'

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top