Dejo aquí un post apunte o codekata, sobre cómo convertir los datos en PHP. Más bien unas líneas de acción para trabajar con la información dentro de los programas en PHP.
Lo lógico es tratar de utilizar programación orientada a objetos para tratar de organizar el código y que sea mantenible. Utilizar código limpio, estructurado en capas, dividido según funcionalidades, etc.. pero antes de llegar a esto tenemos que lidiar quizá con operaciones más sencillas.
Los arrays
Los arrays en PHP son una de las formas más básicas para organizar la información dentro de un programa que estamos corriendo. Estos arrays pueden ser dinámicos, añadir elementos sobre la marcha, eliminarlos, ordenarlos, etc. La forma de declarar un array asociativo vacío y añadir elementos es:
$nuevoArray = [];
$nuevoArray['elem0'] = 'Elemento nuevo';
$nuevoArray['elem1'] = 'Otro elemento nuevo';
echo 'Esto es el elemento 0:'.$nuevoArray['elem0'].PHP_EOL;
echo 'Esto es el elemento 1:'.$nuevoArray['elem1'].PHP_EOL;
Digo aquí asociativo porque definimos una etiqueta para apuntar a cada elemento (elem0, elem1, etc..). Hago esto para luego ver lo mismo cuando lo convertimos en objeto.
Convertir estos arrays en strings JSON
Un array podemos convertirlo en un objeto JSON haciendo lo siguiente:
$json = json_encode($nuevoArray);
Así de esta manera podríamos almacenar este elemento en una sola cadena de caracteres o string. De la misma forma podríamos decodificarlo haciendo:
$elArray = json_decode($json);
Esto es una forma sencilla de almacenar arrays de datos en una cadena de caracteres para luego utilizarlos.
Los objetos, convirtiendo un array en objeto
Lo siguiente sería el convertir un array en objeto. Para esto bastaría con hacer un casting de la variable así:
$objeto = (object) $nuevoArray;
echo 'Esto es el elemento 0:'.$nuevoArray->elem0.PHP_EOL;
echo 'Esto es el elemento 1:'.$nuevoArray->elem1.PHP_EOL;
La forma de volver a convertir este objeto en un array asociativo sería hacer casting de nuevo:
$elArray = (array) $objeto;
Estos objetos son los clásicos stdClass de PHP, que simplemente vienen a almacenar una serie de datos en este caso, pudiendo almacenar también funciones, pero sería tema para otro post.
Me remito a la documentación oficial de PHP para más información:
https://www.php.net/