JSON a Array de PHP
Pega un documento JSON y obtén un literal de array de PHP formateado para un archivo de origen .php, sintaxis de array corta ([...]), indentación adecuada, cadenas correctamente entrecomilladas, objetos anidados convirtiéndose en arrays asociativos y arrays manteniéndose indexados. Útil para incrustar fixtures de API en pruebas o sembrar archivos de configuración.
Cómo convertir JSON a PHP
-
1
Pega el JSON
Cualquier JSON válido, objetos, arrays, profundamente anidados.
-
2
Elige sintaxis
Corta `[...]` (PHP 5.4+) o larga `array(...)` (raramente necesaria ahora).
-
3
Elige comillas para cadenas
Comillas simples (sin interpolación, escapa apóstrofes) o comillas dobles (permite interpolación de `$`, generalmente no es lo que deseas para datos).
-
4
Copia el array
Pega en tu archivo `.php`, asigna a un `return`, o envuelve en `config([...])`.
Ejemplo
Entrada:
{ "app": { "name": "Hyperion", "debug": true, "hosts": ["h1.example.com", "h2.example.com"] } }
Salida (sintaxis corta, comillas simples):
[
'app' => [
'name' => 'Hyperion',
'debug' => true,
'hosts' => [
'h1.example.com',
'h2.example.com',
],
],
]
Mapeo de tipos
| JSON | PHP |
|---|---|
| cadena | cadena (comillas simples) |
| entero | int |
| número (decimal) | float |
| booleano | true / false |
| null | null |
| array (JSON) | array indexado |
| objeto (JSON) | array asociativo |
Cuándo usar asociativo vs indexado
PHP tiene un tipo de array con ambos comportamientos. JSON distingue claramente entre objeto y array, por lo que el mapeo es:
{}-> asociativo (['key' => value]).[]-> indexado ([value, value]).
El generador siempre preserva la distinción; mezclar los dos en PHP es legal pero confuso.
Trucos específicos de PHP
- Claves de cadena numérica. PHP convierte
"42"a la clave entera42en un array. Si tu JSON usa cadenas numéricas como claves y las necesitas como cadenas, el viaje de ida y vuelta dearray_combineno las preservará. - Enteros grandes. JSON puede contener enteros más grandes que
PHP_INT_MAXen compilaciones de 32 bits. El generador advierte cuando eso podría suceder. - UTF-8. Las cadenas de PHP son secuencias de bytes; el generador emite UTF-8 literalmente. Asegúrate de que tu archivo
.phpesté guardado como UTF-8 sin BOM.
Casos de uso
- Archivos de configuración: Laravel y Symfony utilizan configuración de array de PHP. Pegar un archivo de configuración JSON al estilo de un proveedor funciona bien.
- Fixtures de prueba: Las fixtures de
PHPUnitson más limpias como arrays que como archivos JSON cargados en tiempo de ejecución. - Seeds: los sembradores de bases de datos en Laravel a menudo comienzan como un volcado JSON y se convierten en arrays de PHP.
Errores comunes
- Viaje de ida y vuelta de arrays de PHP a JSON.
json_encodetrata un array asociativo como un objeto y un array indexado como un array. Si los mezclas (['key' => 'val', 0 => 'x']), obtienes un objeto al salir. Mantén los arrays con forma de JSON en forma de JSON. - Comillas dobles con apóstrofes. Las cadenas de PHP con comillas simples necesitan
\\'escapadas; las cadenas con comillas dobles necesitan\\"escapadas y las variables se interpolan accidentalmente si no tienes cuidado. Usa comillas simples para datos. - Olvidar comas finales. PHP las permite desde PHP 7.3 y hacen que las diferencias sean más limpias. El generador las añade por defecto.
Preguntas frecuentes
La sintaxis corta ([...]) está disponible desde PHP 5.4 y es la opción idiomática para todo código moderno. La sintaxis larga (array(...)) solo es necesaria para código que debe ejecutarse en PHP 5.3 o anterior, esencialmente sistemas heredados.
Sí. Los archivos de configuración de Laravel son arrays de PHP simples devueltos desde un archivo. Pega la salida del generador después de return y guárdala en config/.
Las cadenas de PHP con comillas simples no interpolan variables ni secuencias de escape (excepto \' y \\). Para literales de datos, esto es más rápido y seguro. Las comillas dobles solo importan cuando deseas \n, \t, o $variable dentro de la cadena.
No, emite un literal de array. Envuelve tú mismo con return, const, o una propiedad de clase según sea necesario. Mantener la salida pequeña la hace componible.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Generador de EditorConfig
Genera un archivo .editorconfig con tu estilo y tamaño de indentación, fin de línea, charset y reglas de espacios para un formato consistente en IDEs y editores.
Herramienta disponible en otros idiomas
- JSON vers tableau PHP [FR]
- JSON till PHP-array [SV]
- JSON เป็น PHP Array [TH]
- تحويل JSON إلى مصفوفة PHP [AR]
- JSON ke Array PHP [ID]
- JSON sang mảng PHP [VI]
- JSON을 PHP 배열로 변환 [KO]
- JSON zu PHP-Array [DE]
- JSON naar PHP-array [NL]
- JSON do tablicy PHP [PL]
- JSONからPHP配列へ [JA]
- JSON para Array PHP [PT]
- JSON в массив PHP [RU]
- JSON'dan PHP dizisine [TR]
- 从 JSON 到 PHP 数组 [ZH]
- JSON to PHP Array [EN]
- JSON in array PHP [IT]