trim()
è un bene per la preparazione dei dati prima di controllare, o inserirla. Probabilmente vorrai prepararti con più di un semplice assetto. Una tecnica fresco che ho visto prima è quella di "pipe" attraverso le funzioni di preparazione:
$data = prepare($data, array(
'first_name' => 'trim|custom_function',
'surname' => 'trim',
));
La bellezza di fare in questo modo rende il codice facilmente leggibile ed è incredibilmente facile da eseguire funzioni su ogni elementi di array specifici.
Ecco una funzione che ho buttato in fretta:
function prepare($data, $arr){
foreach($arr as $input_name => $functions){
foreach(explode('|', $functions) as $function){
$data[$input_name] = call_user_func($function, $data[$input_name]);
}
}
return $data;
}
grazie, mi è mancato ciò che array_map stava restituendo - ma pealse potresti specificare perché considereresti array_walk come una funzione errata? –
se leggi il [manuale] (http://php.net/array-walk) vedrai che array_walk chiama ** ** una funzione con ciascuno dei valori (e delle chiavi) di un array. Quindi avrebbe lo stesso effetto di: 'trim ('test_data_1', 0); trim ('test_data_2', 1) '- nessun compito, nessun effetto collaterale (e un secondo parametro sbagliato per il trim, comunque). Ovviamente * potresti * scrivere la tua funzione per array_walk, che quindi taglia l'effettivo elemento dell'array. –