trim()
jest dobre przygotowanie danych przed sprawdzeniem, lub wkładając ją. Najprawdopodobniej zechcesz jednak przygotować coś więcej niż tylko przyciąć. Fajna technika widziałem wcześniej jest „rura” poprzez swoje funkcje przygotowujących:
$data = prepare($data, array(
'first_name' => 'trim|custom_function',
'surname' => 'trim',
));
Piękno robi to w ten sposób sprawia, że kod czytelny i jest to niezwykle łatwe do uruchomienia funkcji dotyczących poszczególnych elementów tablicy.
Oto funkcja Mam zapukał szybko:
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;
}
dziękuję, nie zauważyłem tego, co zwracał array_map - ale czy mógłbyś podać, dlaczego uznałeś funkcję array_walk za niewłaściwą funkcję? –
jeśli przeczytałeś [podręcznika] (http://php.net/array-walk) zobaczysz, że array_walk po prostu ** wywołuje ** funkcję z każdą z wartości (i kluczy) tablicy. Tak więc miałby taki sam efekt jak: "trim (" test_data_1 ", 0); trim ('test_data_2', 1) '- brak przydziałów, brak efektów ubocznych (i przy okazji niewłaściwy drugi parametr dla przycinania). Ty * możesz * oczywiście napisać własną funkcję dla array_walk, która następnie przycina faktyczny element tablicy. –