Domanda

Che cosa è una funzione in PHP utilizzata per convertire array in stringhe, altro che usare JSON?

So che c'è una funzione che fa direttamente come JSON. Io proprio non lo ricordo.

È stato utile?

Soluzione

serialize() è la funzione che si sta cercando. Esso restituirà una stringa che rappresenta la sua matrice di ingresso o oggetto in un formato interno specifico PHP. La stringa può essere di nuovo convertito alla sua forma originale con unserialize().

Ma attenzione, che non tutti gli oggetti sono serializzabili, o alcuni possono essere solo parzialmente serializzabile e in grado di essere completamente ripristinato con 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";}

Altri suggerimenti

Utilizzare la href="http://php.net/manual/en/function.implode.php" rel="noreferrer"> implode() funzione

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

output leggibile!

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

o

echo print_r($array, true);

Siete alla ricerca di serialize () . Ecco un esempio:

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

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

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

Un'altra buona alternativa è 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, '', '&');

stamperà

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

Maggiori informazioni qui http://php.net/manual/en /function.http-build-query.php

Utilizzare PHP implode() o serialize()

Display matrice in modo molto bello:

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

Visualizza:

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

Ci sono diversi modi per fare questo alcuni di loro ha dato. implode(), join(), var_export(), print_r(), serialize(), json_encode()exc ... Puoi anche scrivere la propria funzione, senza questi:

Un ciclo For() è molto utile. È possibile aggiungere il valore del vostro array a un'altra variabile in questo modo:

<?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 questo codice abbiamo aggiunto i valori e le virgole $ di Dizi a $ Dizin:

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

Ora

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

E 'una stringa, ma ha un virgola in più:)

E poi abbiamo cancellato l'ultimo comma, substr($dizin, 0, -1);

Output:

'madre', 'padre', 'figlio'

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top