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": "MyApp", "debug": true, "hosts": ["h1.example.com", "h2.example.com"] } }
Saída (sintaxe curta, aspas simples):
[
'app' => [
'name' => 'MyApp',
'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
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 a partir de um formulário curto: defina o entry, a pasta de saída e o modo, e ative TypeScript, Babel, um loader CSS, HtmlWebpackPlugin e um servidor de desenvolvimento.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Ferramenta disponível em outros idiomas
- JSONからPHP配列へ [JA]
- JSON till PHP-array [SV]
- JSON ke Array PHP [ID]
- JSON을 PHP 배열로 변환 [KO]
- JSON vers tableau PHP [FR]
- JSON naar PHP-array [NL]
- JSON sang mảng PHP [VI]
- JSON zu PHP-Array [DE]
- تحويل JSON إلى مصفوفة PHP [AR]
- JSON เป็น PHP Array [TH]
- JSON do tablicy PHP [PL]
- JSON a Array de PHP [ES]
- JSON in array PHP [IT]
- JSON to PHP Array [EN]
- JSON в массив PHP [RU]
- JSON'dan PHP dizisine [TR]
- 从 JSON 到 PHP 数组 [ZH]