Inviare un array tramite form |
| 20/07/2007
Un problema comune nell'invio di dati tramite form HTML è quello realtivo alla trasmissione degli array. E' molto scomodo estrarre tutti i valori di un array, soprattutto nel caso in cui questo sia di grosse dimensioni, e inviarli destinando ad ognuno di essi un determinato campo. $array = array("a","b","c","d","e");
Sono presenti 5 valori, per inviarli tramite form potremmo estrarli tutti e associarli a 5 differenti campi nascosti. Abbiamo però a disposizione serialize():
$serial = serialize($array);Da cui otteniamo una versione archiviata come questa: a:5:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";i:3;s:1:"d";i:4;s:1:"e";}
Come sarà possibile notare, la stringa contiene tutti i valori dell'array e i rispettivi numeri indice. Una volta inviato tramite form questo valore, contenuto semplicemente nella variabile $serial, sarà possibile deserializzare la variabile e riottenere tutti i valori dell'array grazie alla funzione unserialize(); provate per esempio ad eseguire questo semplice codice:
<?php
$array = array("a","b","c","d", "e");
$serial = serialize($array);
$data = unserialize($serial);
foreach($data as $val)
{
echo $val.'<br>';
}
?>
|
| © Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more. |
| Stampa :: Torna alla Home |