Expresiones como valores de Arrays en PHP

Recién estaba programando un poco para disfrutar del sol de un día feriado y me topo con un problema, había definido un array de la siguiente manera.

La cuestión fue que cuando quería utilizar el elemento message este no aparecía definido en el Array, PHP no estaba arrojando ningun tipo de error y el elemento
simplemente no estaba ahí. Cuando me pongo a mirarlo en detalle encuentro un error de tipeo en el segundo elemento, en vez de poner => puse simplemente >, al
cambiarlo mi programa funcionó como lo esperado.

Me puse a pensar un poco lo que paso por que me pareció muy extraño que PHP no arroje errores, me pongo a mirar el caso puntual en detalle y me encuentro con esto.

Como pueden ver el segundo elemento posee el mismo error que había cometido, al ver el contenido del array con var_dump podemos ver que el segundo elemento tomo la clave 0 (dado que no había un elemento con clave numérica previo) y su valor es falso, ahí es cuando digo por que falso?, y es falso por haber evaluado la expresión ‘bar’ > ‘floflo’. la cual da como resultado falso. Me puse a buscar un poco de documentación al respecto pero no encontré nada donde diga que PHP evalua las expresiones dentro de los valores de un array y no recuerdo haberlo usado antes. Me puse a hacer algunas otras pruebas y llegue a estos resultados.

Probablemente muchos conocían esta característica, yo acabo de asimilarla.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *