Se devi convertire un array PHP in una stringa, ci sono diversi strumenti per farlo. L'uso di uno strumento particolare dipende dai tuoi obiettivi.

1. Funzione Implodi()

Con il suo aiuto, puoi "incollare" gli elementi dell'array in una stringa, attraverso qualsiasi separatore. Leggi di più: implodere
Esempio:

Echo implode("|", array(1, 2, 3)); // produrrà la riga: 1|2|3

Questa funzione ha un antagonista, esplode(), che, al contrario, divide la stringa in corrispondenza del delimitatore in elementi dell'array. Leggi di più: esplodere

2. Funzione Serializza()

Il compito principale della funzione è trasformare una variabile (nel nostro caso un array) in uno stato adatto alla memorizzazione.
Viene utilizzato per salvare un array in una stringa e quindi riconvertirlo in un array. È possibile salvare l'array in un file o in un database e quindi ripristinarlo la prossima volta che si esegue lo script.
Per saperne di più: serializzare

$array = array("1" =>; "elem 1", "2"=> "elem 2", "3" => "elem 3"); $stringa = serializza($array); echo $stringa; // produrrà la riga: a:3:(i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:"elem 3" ;)

Quindi da questa riga puoi ottenere nuovamente l'array:

$array = unserialize($stringa);

3. funzione json_encode()

Restituisce una rappresentazione JSON dei dati. Puoi leggere di cosa si tratta.
Nel nostro caso, questa funzione assomiglia alla serializzazione, ma JSON viene utilizzato principalmente per il trasferimento dei dati. Dovrai utilizzare questo formato per scambiare dati con Javascript sul front-end. Maggiori dettagli: json_encode

$array = array(1 => "uno", 2 => "due",); $json = codifica_json($array); echo $json; // ("1":"uno","2":"due")

La funzione di callback json_decode() restituirà un oggetto di tipo stdClass se il secondo parametro della funzione è false. Oppure restituirà un array associativo se viene passato true come secondo parametro. Dettagli qui.

Per convertire una stringa in un array tramite delimitatore, puoi utilizzare la funzione esplode()
Parametri richiesti: delimitatore e stringa.

// Esempio 1 $pizza = "pezzo1 pezzo2 pezzo3 pezzo4 pezzo5 pezzo6"; $pezzi = esplode(" ", $pizza); echo $pezzi; // pezzo1 echo $pezzi; // pezzo2 // Esempio 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; lista($utente, $pass, $uid, $gid, $gecos, $home, $shell) = esplode(":", $dati); echo $utente; // foo echo $passaggio; // *

Dividi la stringa in un array utilizzando l'espressione regolare

Se esplodere() non è sufficiente, puoi utilizzare una funzione più potente: preg_split(). Ti consente di dividere una stringa non in base a un set fisso di caratteri, ma in base a

Esempio dalla documentazione:

//divide la stringa con un numero arbitrario di virgole e spazi bianchi, //che includono " ", \r, \t, \n e \f $parole chiave = preg_split("/[\s,]+/", " linguaggio ipertestuale, programmazione"); print_r($parole chiave);

Risultato:

/* Array ( => ipertesto => linguaggio => programmazione) */

Converti una stringa in un array in base al numero di caratteri

La funzione str_split() converte una stringa in un array, suddividendola in elementi con un numero specificato di caratteri. Vuoi sapere come usarlo? Controlla la documentazione.

$str = "Ciao amico"; $arr2 = str_split($str, 3); print_r($arr2)

2,8K

Il metodo di esplosione PHP viene utilizzato per dividere una stringa in un numero specificato di sottostringhe.

Sintassi del metodo

Un esempio di utilizzo del metodo di esplosione PHP:

$array_name = esplode ($delimitatore, $string_to_split, $no_of_breaks)

Esempio di utilizzo dell'esplosione per dividere un numero di telefono

In questo esempio, abbiamo dichiarato una variabile stringa e le abbiamo assegnato un numero di telefono nel seguente formato:

001-234-567678

Successivamente, abbiamo utilizzato il metodo di esplosione per dividere la stringa utilizzando un trattino (trattino) come delimitatore. L'array di stringhe restituito viene assegnato all'array.

Abbiamo poi utilizzato un ciclo fogeach per visualizzare i valori degli elementi dell'array che sono sottostringhe del numero di telefono. Poiché il parametro limite non è specificato, l'intero numero di telefono verrà suddiviso in tre sottostringhe:


Visualizza demo e codice

Esempio con lo spazio come delimitatore

Questo esempio di interruzione di riga di esplosione PHP utilizza uno spazio come delimitatore. Prendiamo ad esempio questa riga:

Anche in questo caso l'esempio non utilizza il parametro limit. Dopo aver creato la stringa, abbiamo utilizzato il metodo di esplosione per dividerla. Abbiamo quindi utilizzato un ciclo fogeach per visualizzare gli elementi dell'array restituiti.

Infine, abbiamo utilizzato la funzione count() per visualizzare il numero di sottostringhe nell'array:


Visualizza demo e codice

Esempio con il parametro limite

Questo è l'esempio descritto sopra, tranne che qui abbiamo utilizzato il parametro limit per specificare il numero di divisioni per riga. Di seguito è riportata la riga utilizzata:

Questo è un tutorial sull'esplosione che abilita la suddivisione delle stringhe in PHP.

Nell'esempio di esplosione PHP, quando abbiamo utilizzato uno spazio come delimitatore, sono state restituite solo 10 sottostringhe. Questa volta sono state definite 5 suddivisioni utilizzando il parametro limite:


Visualizza demo e codice

La pagina demo mostra solo cinque sottostringhe, di cui l'ultima include il resto della stringa. Anche il numero totale di elementi dell'array è 5, non 10 come nell'esempio sopra.

A cosa serve il metodo di esplosione?

Metodo esplodere ( PHP diviso) viene utilizzato per dividere una determinata stringa. Supponiamo che un modulo Web accetti un numero di telefono con un prefisso nazionale e interurbano nel seguente formato:

001-234-567678

Dobbiamo separare il paese e il prefisso, che sono separati da un trattino. Per dividere un numero di telefono, puoi utilizzare l'esplosione con un trattino delimitatore (trattino) dopo aver accettato il numero come parametro di input.

Poiché l'esplosione restituisce un array di sottostringhe, il metodo esplode dividerà il numero nel seguente array di elementi:

  • Primo elemento = 001
  • Secondo elemento = 234
  • Terzo elemento = 567678

Come utilizzare la funzione di esplosione di PHP

Ci sono tre parametri che puoi specificare nella funzione di esplosione PHP. L'ultimo è facoltativo, poiché specifica il numero di partizioni ( numero massimo di sottostringhe) non necessario.

Descrizione di ciascun parametro:

$array_name = esplode ($delimitatore, $string_to_split, $no_of_breaks)

  • $nome_array - array; perché il metodo esplode restituisce un array di stringhe ottenuto suddividendo la stringa;
  • $delimitatore: definisce il delimitatore. Abbiamo utilizzato "-" come separatore per suddividere il numero di telefono.

Puoi anche utilizzare spazi, virgole o altre parole come delimitatore $.

  • Il parametro successivo è la stringa che deve essere divisa utilizzando il metodo di esplosione. Potrebbe essere una variabile stringa, una clausola, ecc.;
  • L'ultimo parametro specifica il numero massimo di sottostringhe o il numero di suddivisioni per riga. Questo è un parametro opzionale.

Nel PHP esplodere l'array, se l'argomento limit è positivo, l'array restituito conterrà il numero massimo di elementi, con l'ultimo elemento che conterrà il resto della stringa.