Domanda

Ho un array multidimensionale in PHP come questo:

$array = array(
    "Part1" => array(
        "Subpart1" => array(0, 1),
        "Subpart2" => array(1, 0)
    ),
    "Part2" => array(0),
    "Part3" => array(0, 1, 0)
);

Ora voglio memorizzare questo array in una tabella MySQL e recuperarlo di nuovo esattamente in questo modo su un'altra pagina PHP.

Ho provato a usare serialize() E unserialize()

$array= serialize($array);

e poi nell'altra pagina

$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);

Ma mi sembra di fare qualcosa di sbagliato, all'inizio ho avuto un var_dump Di bool(falso) e ora ottengo un var_dump Di NULLO.

È stato utile?

Soluzione

Il tuo codice sembra ok ...

Una cosa che può prendere fuori è che se la vostra colonna è troppo piccola - se si utilizza VARCHAR (255) i dati possono essere troncati e non unserialize. Se si aggiunge il valore di $row['Array'] ho potuto vedere se è complesso.

Altri suggerimenti

Utilizzare tipo di colonna TEXT. dati serializzati, spesso non si adatta VARCHAR (255).

Si potrebbe utilizzare JSON codificare, json_encode ($ array) e si otterrà un valore stringa in notazione JSON modo da poter memorizzare nel database, e retrive e fare un json_decode ($ string, true) in modo da cand convertire in un array ancora. Se non si passa il vero argomento al json_decode, sarà convertito in uno stdClass.

Particolari Quantità Valutare Quantità Importo Somma Altri   Altri Importo     Tassa        Totale                      

Questa è la mia tabella in php/html.Devo archiviare e recuperare php Particulars(p),Quantity(q),Rate(r) come formato di tabella separato

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