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:
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\"
)
Avreste qualche idea per svolgere questa operazione sensa genereare nuovi elementi dell'array [0],[1],[2],ecc mantentedo invariate le chiavi associative dell'array...
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