JSON in array PHP
Incolla un documento JSON e ottieni un array PHP letterale formattato per un file sorgente .php, sintassi breve dell’array ([...]), indentazione corretta, stringhe quotate correttamente, oggetti annidati diventano array associativi e gli array rimangono indicizzati. Utile per incorporare fixture API nei test o per popolare file di configurazione.
Come convertire JSON in PHP
-
1
Incolla il JSON
Qualsiasi JSON valido, oggetti, array, profondamente annidati.
-
2
Scegli la sintassi
Sintassi breve `[...]` (PHP 5.4+) o lunga `array(...)` (raramente necessaria ora).
-
3
Scegli le virgolette per le stringhe
Virgolette singole (nessuna interpolazione, scappa gli apostrofi) o virgolette doppie (consentono l'interpolazione `$`, di solito non ciò che desideri per i dati).
-
4
Copia l'array
Incolla nel tuo file `.php`, assegna a un `return`, o avvolgi in `config([...])`.
Esempio
Input:
{ "app": { "name": "Hyperion", "debug": true, "hosts": ["h1.example.com", "h2.example.com"] } }
Output (sintassi breve, virgolette singole):
[
'app' => [
'name' => 'Hyperion',
'debug' => true,
'hosts' => [
'h1.example.com',
'h2.example.com',
],
],
]
Mappatura dei tipi
| JSON | PHP |
|---|---|
| stringa | stringa (virgolette singole) |
| intero | int |
| numero (decimale) | float |
| booleano | true / false |
| null | null |
| array (JSON) | array indicizzato |
| oggetto (JSON) | array associativo |
Quando usare associativo vs indicizzato
PHP ha un tipo di array con entrambi i comportamenti. JSON distingue chiaramente tra oggetto e array, quindi la mappatura è:
{}-> associativo (['key' => value]).[]-> indicizzato ([value, value]).
Il generatore preserva sempre la distinzione; mescolare i due in PHP è legale ma confuso.
Problemi specifici di PHP
- Chiavi di stringa numerica. PHP converte
"42"nella chiave intera42in un array. Se il tuo JSON utilizza stringhe numeriche come chiavi e hai bisogno che siano stringhe, il round-triparray_combinenon le preserva. - Interi grandi. JSON può contenere interi più grandi di
PHP_INT_MAXsu build a 32 bit. Il generatore avverte quando ciò potrebbe accadere. - UTF-8. Le stringhe PHP sono sequenze di byte; il generatore emette UTF-8 letteralmente. Assicurati che il tuo file
.phpsia salvato come UTF-8 senza BOM.
Casi d’uso
- File di configurazione: Laravel e Symfony utilizzano entrambi la configurazione in array PHP. Incollare una configurazione JSON in stile vendor funziona bene.
- Fixture di test: le fixture di
PHPUnitsono più pulite come array rispetto ai file JSON caricati a runtime. - Seeds: i seeders del database in Laravel spesso iniziano come un dump JSON e diventano array PHP.
Errori comuni
- Ritorno degli array PHP a JSON.
json_encodetratta un array associativo come un oggetto e un array indicizzato come un array. Se li mescoli (['key' => 'val', 0 => 'x']), ottieni un oggetto in uscita. Mantieni gli array a forma di JSON come JSON. - Virgolette doppie con apostrofi. Le stringhe PHP con virgolette singole necessitano di
\\'scappato; le stringhe con virgolette doppie necessitano di\\"scappato e le variabili vengono interpolate accidentalmente se non fai attenzione. Attieniti alle virgolette singole per i dati. - Dimenticare le virgole finali. PHP le consente dalla versione 7.3 e rendono le differenze più pulite. Il generatore le aggiunge per impostazione predefinita.
Domande frequenti
La sintassi breve ([...]) è disponibile da PHP 5.4 ed è la scelta idiomatica per tutto il codice moderno. La sintassi lunga (array(...)) è necessaria solo per il codice che deve funzionare su PHP 5.3 o versioni precedenti, essenzialmente sistemi legacy.
Sì. I file di configurazione di Laravel sono semplici array PHP restituiti da un file. Incolla l’output del generatore dopo return e salvalo in config/.
Le stringhe PHP con virgolette singole non interpolano variabili o sequenze di escape (eccetto \' e \\). Per i letterali di dati, questo è più veloce e sicuro. Le virgolette doppie sono importanti solo quando desideri \n, \t o $variabile all’interno della stringa.
No, emette un array letterale. Avvolgilo tu stesso con return, const, o una proprietà di classe se necessario. Mantenere l’output piccolo lo rende composabile.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Trova nome colore
Trova il colore CSS standard con nome più vicino a un valore HEX, RGB o HSL usando la differenza CIEDE2000.
Promemoria Markdown
Riferimento pratico Markdown con anteprime reali ed esempi pronti da copiare per titoli, elenchi, tabelle, codice, link, immagini e sintassi GFM.
Strumento disponibile in altre lingue
- JSON till PHP-array [SV]
- JSON vers tableau PHP [FR]
- JSON naar PHP-array [NL]
- JSON เป็น PHP Array [TH]
- JSON sang mảng PHP [VI]
- تحويل JSON إلى مصفوفة PHP [AR]
- JSON ke Array PHP [ID]
- JSON a Array de PHP [ES]
- JSONからPHP配列へ [JA]
- JSON을 PHP 배열로 변환 [KO]
- JSON zu PHP-Array [DE]
- JSON do tablicy PHP [PL]
- JSON para Array PHP [PT]
- JSON в массив PHP [RU]
- JSON'dan PHP dizisine [TR]
- 从 JSON 到 PHP 数组 [ZH]
- JSON to PHP Array [EN]