JSON para Array PHP
Cole um documento JSON e obtenha um literal de array PHP formatado para um arquivo de origem .php, sintaxe de array curta ([...]), indentação adequada, strings corretamente entre aspas, objetos aninhados se tornando arrays associativos e arrays permanecendo indexados. Útil para embutir fixtures de API em testes ou semear arquivos de configuração.
Como converter JSON para PHP
-
1
Cole o JSON
Qualquer JSON válido, objetos, arrays, profundamente aninhados.
-
2
Escolha a sintaxe
Sintaxe curta `[...]` (PHP 5.4+) ou longa `array(...)` (raramente necessária agora).
-
3
Escolha as aspas para strings
Aspas simples (sem interpolação, escape de apóstrofos) ou aspas duplas (permite interpolação `$`, geralmente não é o que você quer para dados).
-
4
Copie o array
Cole em seu arquivo `.php`, atribua a um `return`, ou envolva em `config([...])`.
Exemplo
Entrada:
{ "app": { "name": "Hyperion", "debug": true, "hosts": ["h1.example.com", "h2.example.com"] } }
Saída (sintaxe curta, aspas simples):
[
'app' => [
'name' => 'Hyperion',
'debug' => true,
'hosts' => [
'h1.example.com',
'h2.example.com',
],
],
]
Mapeamento de tipos
| JSON | PHP |
|---|---|
| string | string (aspas simples) |
| inteiro | int |
| número (decimal) | float |
| booleano | true / false |
| null | null |
| array (JSON) | array indexado |
| objeto (JSON) | array associativo |
Quando usar associativo vs indexado
PHP tem um tipo de array com ambos os comportamentos. JSON distingue claramente objeto e array, então o mapeamento é:
{}-> associativo (['key' => value]).[]-> indexado ([value, value]).
O gerador sempre preserva a distinção; misturar os dois em PHP é legal, mas confuso.
Armadilhas específicas do PHP
- Chaves de string numéricas. PHP converte
"42"para a chave inteira42em um array. Se seu JSON usa strings numéricas como chaves e você precisa delas como strings, a viagem de ida e volta comarray_combinenão as preservará. - Inteiros grandes. JSON pode conter inteiros maiores que
PHP_INT_MAXem compilações de 32 bits. O gerador avisa quando isso pode acontecer. - UTF-8. Strings PHP são sequências de bytes; o gerador emite UTF-8 literalmente. Certifique-se de que seu arquivo
.phpesteja salvo como UTF-8 sem BOM.
Casos de uso
- Arquivos de configuração: Laravel e Symfony usam configuração de array PHP. Colocar uma configuração JSON no estilo de fornecedor funciona bem.
- Fixtures de teste: fixtures do
PHPUnitsão mais limpas como arrays do que como arquivos JSON carregados em tempo de execução. - Seeds: semeadores de banco de dados no Laravel frequentemente começam como um despejo JSON e se tornam arrays PHP.
Erros comuns
- Retornar arrays PHP de volta para JSON.
json_encodetrata um array associativo como um objeto e um array indexado como um array. Se você misturá-los (['key' => 'val', 0 => 'x']), você obtém um objeto na saída. Mantenha arrays com formato JSON como arrays JSON. - Aspas duplas com apóstrofos. Strings PHP entre aspas simples precisam de
\\'escapado; strings entre aspas duplas precisam de\\"escapado e variáveis interpoladas acidentalmente se você não tiver cuidado. Fique com aspas simples para dados. - Esquecer vírgulas finais. PHP permite desde PHP 7.3 e elas tornam as diferenças mais limpas. O gerador as adiciona por padrão.
Perguntas frequentes
A sintaxe curta ([...]) está disponível desde PHP 5.4 e é a escolha idiomática para todo código moderno. A sintaxe longa (array(...)) é necessária apenas para código que deve rodar em PHP 5.3 ou anterior, essencialmente sistemas legados.
Sim. Arquivos de configuração do Laravel são arrays PHP simples retornados de um arquivo. Cole a saída do gerador após return e salve em config/.
Strings PHP entre aspas simples não interpolam variáveis ou sequências de escape (exceto \' e \\). Para literais de dados, isso é mais rápido e seguro. Aspas duplas só importam quando você quer \n, \t, ou $variable dentro da string.
Não, ele emite um literal de array. Envolva você mesmo com return, const, ou uma propriedade de classe conforme necessário. Manter a saída pequena a torna composável.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Ferramenta disponível em outros idiomas
- 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 в массив PHP [RU]
- JSON'dan PHP dizisine [TR]
- 从 JSON 到 PHP 数组 [ZH]
- JSON to PHP Array [EN]
- JSON in array PHP [IT]