Menu

PHP implode(): unire gli elementi di un array in una stringa

implode(', ', $array) unisce i valori di un array in una sola stringa con un separatore tra loro. Impara implode con le chiavi, gli array associativi, la costruzione di liste HTML e la differenza tra implode e join.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

implode($separator, $array) unisce i valori di un array in una sola stringa, con $separator tra ogni coppia: implode(', ', ['red', 'green', 'blue']) restituisce "red, green, blue".

Il separatore va solo tra gli elementi, mai prima del primo o dopo l'ultimo. È l'inverso di explode(), che divide una stringa in un array.

Sintassi

implode(string $separator, array $array): string
implode(array $array): string   // separator defaults to ""

Il separatore viene prima. Il codice più vecchio a volte passava prima l'array, implode($array, ', '). Quell'ordine è stato deprecato in PHP 7.4 e rimosso in PHP 8.0, dove lancia TypeError: implode(): Argument #2 ($array) must be of type ?array, string given.

implode vs join

join() è un alias di implode(). Accettano gli stessi argomenti e restituiscono la stessa stringa, quindi scegline uno e sii coerente.

Cosa succede a numeri, booleani e null

Ogni valore viene prima convertito in stringa. I numeri vengono stampati come ti aspetti, true diventa "1", e false e null diventano stringhe vuote, il che lascia due separatori di fila.

implode di un array associativo

implode() ignora le chiavi e unisce solo i valori. Per ottenere coppie key=value, costruisci ogni pezzo con array_map() su chiavi e valori, poi uniscili. http_build_query() fa lo stesso per una query string di un URL e codifica anche spazi e caratteri speciali.

Lo stesso schema unisce solo le chiavi: implode(', ', array_keys($user)). Altro su chiavi e valori nella pagina sugli array associativi.

Unire con un a capo o costruire una lista HTML

Il separatore può essere qualsiasi stringa. "\n" (virgolette doppie) mette ogni valore su una riga a sé, comodo per file di testo e output da riga di comando. Con dei tag HTML come separatore, implode() costruisce una lista in una riga. Esegui il blocco seguente e la scheda Page mostra la lista.

Applicare htmlspecialchars() a ogni valore prima di unirli impedisce che un valore come <b> diventi markup.

Unire con "e" prima dell'ultimo elemento

Una lista leggibile di solito richiede "e" prima dell'ultimo elemento. Toglilo con pop, unisci il resto, poi riaggiungilo:

Errore comune: array annidati

implode() lavora su un solo livello. Un elemento che è a sua volta un array viene convertito nella parola Array, e PHP stampa un warning:

<?php
echo implode(', ', ['red', ['orange', 'yellow']]);
Warning: Array to string conversion in /home/index.php on line 2
red, Array

Appiattisci prima gli array interni, oppure unisci ciascuno separatamente:

Domande frequenti

Cosa fa implode() in PHP?

Unisce i valori di un array in una sola stringa, mettendo il separatore tra di loro: implode(', ', ['a', 'b', 'c']) restituisce "a, b, c". È l'opposto di explode().

Qual è la differenza tra implode() e join()?

Nessuna. join() è un alias di implode(): stessi argomenti, stesso risultato. implode() è il nome che vedrai nella maggior parte del codice.

Come faccio implode di un array associativo con le sue chiavi?

implode() usa solo i valori. Per includere le chiavi, costruisci prima i pezzi: implode(', ', array_map(fn($k, $v) => "$k=$v", array_keys($a), $a)). Per una query string di un URL, http_build_query($a) lo fa in una chiamata.

Perché implode() dà un TypeError in PHP 8?

Perché gli argomenti sono nel vecchio ordine. implode($array, ', ') è stato deprecato in PHP 7.4 e rimosso in PHP 8.0. Scrivi prima il separatore: implode(', ', $array).

Come converto un array in una stringa separata da virgole in PHP?

implode(',', $array). Usa ', ' come separatore se vuoi uno spazio dopo ogni virgola. Per un file CSV, usa fputcsv(), che mette anche tra virgolette i valori che contengono virgole.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA