note 88049 modified in function.strtolower by felipe

From: Date: Sat, 17 Jan 2009 01:17:52 +0000
Subject: note 88049 modified in function.strtolower by felipe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-149352@lists.php.net to get a copy of this message
the function arraytolower will create duplicate entries since keys are case sensitive. <?php $array = array('test1' => 'asgAFasDAAd', 'TEST2' => 'ASddhshsDGb', 'TeSt3 '=> 'asdasda@asdadadASDASDgh'); $array = arraytolower($array); ?> /* Array ( [test1] => asgafasdaad [TEST2] => ASddhshsDGb [TeSt3] => asdasda@asdadadASDASDgh [test2] => asddhshsdgb [test3] => asdasda@asdadadasdasdgh ) */ I prefer this method <?php function arraytolower($array, $include_leys=false) { if($include_leys) { foreach($array as $key => $value) { if(is_array($value)) $array2[strtolower($key)] = arraytolower($value, $include_leys); else $array2[strtolower($key)] = strtolower($value); } $array = $array2; } else { foreach($array as $key => $value) { if(is_array($value)) $array[$key] = arraytolower($value, $include_leys); else $array[$key] = strtolower($value); } } return $array; } ?> which when used like this <?php $array = $array = array('test1' => 'asgAFasDAAd', 'TEST2' => 'ASddhshsDGb', 'TeSt3 '=> 'asdasda@asdadadASDASDgh'); $array1 = arraytolower($array); $array2 = arraytolower($array,true); print_r($array1); print_r($array2); ?> will give output of Array ( [test1] => asgafasdaad [TEST2] => asddhshsdgb [TeSt3] => asdasda@asdadadasdasdgh ) Array ( [test1] => asgafasdaad [test2] => asddhshsdgb [test3] => asdasda@asdadadasdasdgh ) --was-- the function arraytolower will create duplicate entries since keys are case sensitive. $array = array('test1' => 'asgAFasDAAd', 'TEST2' => 'ASddhshsDGb', 'TeSt3 '=> 'asdasda@asdadadASDASDgh'); $array = arraytolower($array); Array ( [test1] => asgafasdaad [TEST2] => ASddhshsDGb [TeSt3] => asdasda@asdadadASDASDgh [test2] => asddhshsdgb [test3] => asdasda@asdadadasdasdgh ) i prefer this method function arraytolower($array, $include_leys=false) { if($include_leys) { foreach($array as $key => $value) { if(is_array($value)) $array2[strtolower($key)] = arraytolower($value, $include_leys); else $array2[strtolower($key)] = strtolower($value); } $array = $array2; } else { foreach($array as $key => $value) { if(is_array($value)) $array[$key] = arraytolower($value, $include_leys); else $array[$key] = strtolower($value); } } return $array; } which when used like this $array = $array = array('test1' => 'asgAFasDAAd', 'TEST2' => 'ASddhshsDGb', 'TeSt3 '=> 'asdasda@asdadadASDASDgh'); $array1 = arraytolower($array); $array2 = arraytolower($array,true); print_r($array1); print_r($array2); will give output of Array ( [test1] => asgafasdaad [TEST2] => asddhshsdgb [TeSt3] => asdasda@asdadadasdasdgh ) Array ( [test1] => asgafasdaad [test2] => asddhshsdgb [test3] => asdasda@asdadadasdasdgh ) http://php.net/manual/en/function.strtolower.php

« previous php.notes (#149352) next »