PHP non sta cambiando nulla, quello che hai nel DB è una stringa, e PHP nell'array ci mette una stringa.
Il fatto che sia una stringa che abbia lo stesso formato di un'istruzione lo riconosci tu leggendola, per PHP non lo è, tanto più che è un'istruzione JS.
Ci sono almeno un paio di vie per risolvere la situazione.
1) consigliata, è quella di salvare nel DB i valori effettivi, quindi delle date, non delle istruzioni che poi dovrebbero generare una data. Se poi da JS vuoi un oggetto Date puoi usare Date.parse() sulla stringa contenuta nell'array in arrivo. N.B. la stringa contenuta nell'array in questo caso è una cosa del tipo 2023-11-11,
non new Date(2023, 11, 11)
2) Come stai facendo ora passi a JS un array con dentro quelle stringhe e poi da JS le interpreti come istruzioni, questo è un modo per farlo, ma è una forzatura inutile, poco pratica e che può portare a guai perché permetteresti a JS di eseguire un codice qualsiasi, non solo la generazione di un oggetto Date, ma qualsiasi istruzione sia scritta in quel campo del DB o qualsiasi istruzione che per vie traverse si potrebbe far arrivare.

Rispondi quotando