On 2013-05-08, at 1:48 PM, Jim Giner wrote:

> On 5/7/2013 5:29 PM, George Langley wrote:
>> Hi all. I want to apply strtolower() AND trim() to all items in an array. 
>> But I don't see a way to call multiple callbacks with the array_map() 
>> function.
>> Are my two choices the following:
>> 
>> // 1) nesting two array_map() calls
>> $cleanData = array_map('trim',(array_map('strtolower',$rawData)));
>> 
>> 
>> // 2) call my own function with array_walk()
>> $cleanData = array_walk('myCleaner',$rawData);
>> 
>> function myCleaner($passedData){
>>      $cleanData = array_map('strtolower',$passedData);
>>      $cleanData = array_map('trim',$cleanData);
>> }
>> //(Of course, wouldn't bother with a function, just to call array_map 
>> twice...)
>> 
>> Just seeing if there's a better way than having to go through the array 
>> twice to apply each callback separately. Thanks,
>> 
> Not sure if you have an answer to this yet, so I'll present my simpler 
> approach.
> 
> foreach ($my_array as &$v)
> {
>   $v = trim($v);
>   $v = strtolower($v);
> }
> 
> -- 
On 2013-05-07, at 3:43 PM, Alex Nikitin wrote:

> Something like:
> 
> $cleanData = array_map(function($str){return strtolower(trim($str));},
> $passedData);
------
        Thanks guys - will check both out to see what works best in my 
situation.

George
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to