2010-11-03 62 views
17

我想找到一個解決方案在多維數組上使用array_map('mysql_real_escape_string', $data);如果$ data是多維的,PHP返回一個錯誤。歡呼聲array_map爲多維數組

回答

32
$array = array(array('A' => "Hello", 'B' => "World"), 
       array('A' => "Goodnight", 'B' => "Vienna") 
      ); 

function myFunc(&$item, $key) { 
    $item = mysql_real_escape_string($item); 
} 

array_walk_recursive($array,'myFunc'); 

var_dump($array); 
0
function realEscape($data){ 
    global $connection; 
     $array=[]; 
    do{ 

    if(is_string($data)){ 
     $array= mysqli_real_escape_string($connection,$data); 
     break; 
    } 


foreach($data as $key =>$value){ 
     $array[$key]=is_array($value)?realEscape($value):mysqli_real_escape_string($connection,$value); 
} 


}while(0); 
return $array;} 

一個簡單的解決方案適合任何地方。乾杯!