trim()
हम उसकी जांच करने, या यह डालने से पहले डेटा तैयार करने के लिए अच्छा है। हालांकि, आप शायद ट्रिम से अधिक के साथ तैयार करना चाहते हैं। एक शांत तकनीक मैं पहले देखा है अपने की तैयारी कार्यों के माध्यम से "पाइप" के लिए है:
$data = prepare($data, array(
'first_name' => 'trim|custom_function',
'surname' => 'trim',
));
यह इस तरह से कर रही है की सुंदरता कोड आसानी से पढ़ने योग्य बनाता है और यह प्रत्येक विशिष्ट सरणी तत्वों पर कार्यों को चलाने के लिए अविश्वसनीय रूप से आसान है।
यहाँ एक समारोह मैं जल्दी से खटखटाया है या नहीं:
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;
}
धन्यवाद, क्या याद आया कि array_map वापस लौटा रहा था - लेकिन पल्स आप निर्दिष्ट कर सकते हैं कि आप गलत कार्य के रूप में array_walk को क्यों समेकित करेंगे? –
यदि आप [मैन्युअल] (http://php.net/array-walk) पढ़ते हैं तो आप देखेंगे कि array_walk सिर्फ ** कॉल ** एक सरणी के प्रत्येक मान (और कुंजी) के साथ एक फ़ंक्शन है। तो इसका वही प्रभाव होगा: 'ट्रिम (' test_data_1 ', 0); ट्रिम करें ('test_data_2', 1) '- कोई असाइनमेंट नहीं, कोई दुष्प्रभाव नहीं है (और रास्ते में ट्रिम के लिए गलत दूसरा पैरामीटर)। आप निश्चित रूप से array_walk के लिए अपना स्वयं का फ़ंक्शन लिख सकते हैं, जो तब वास्तविक सरणी तत्व को ट्रिम करता है। –