Salve a tutti,
sto lavorando ad uno script di php e mi sono accorto che spesso non riesco ad inserire i record nel db (my_sql) per via della famosa questione degli apostrofi, che invalidano le query.... a tale proposito mi sono ricordato della funzione addslashes() che dovrebbe aggiungere automaticamente dei segni di escape.
ora il mio problema è il seguente:
cerco un modo per applicare, in un'unico ciclo, la funzione ad un array $_POST, mantenendo invariate le chiavi associative dell'array
esempio:
Avreste qualche idea per svolgere questa operazione sensa genereare nuovi elementi dell'array [0],[1],[2],ecc mantentedo invariate le chiavi associative dell'array...codice:$frutta = array ( "fr1"=> "il melone", "fr2"=> "l'arancia", "fr3"=> "l'albicocca", "fr4"=> "il \"kiwi\""); foreach ($frutta as $frutto) { addslashes($frutto); // non succede niente } foreach ($frutta as $frutto) { $frutto = addslashes($frutto); // $frutto cambia, frutta rimane invariato... } foreach ($frutta as $frutto) { $frutta[] = addslashes($frutto); // produce il seguente output: } Array ( [fr1] => il melone [fr2] => l'arancia [fr3] => l'albicocca [fr4] => il "kiwi" [0] => il melone [1] => l\'arancia [2] => l\'albicocca [3] => il \"kiwi\" ) //mentre io vorrei un output tipo Array ( [fr1] => il melone [fr2] => l\'arancia [fr3] => l\'albicocca [fr4] => il \"kiwi\" )
PS: aggiungo che nel mio caso l'array $_POST è abbastanza grosso e viene impiegato nelle query su tutte le tabelle; quindi modificare manualmente ogni singola sottovariabile dell'array non è una soluzione economica...
Ringrazio in anticipo per l'attenzione,
Buon 2005
_Andrea

Rispondi quotando