Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组映射在php中不起作用_Php_Mysql - Fatal编程技术网

数组映射在php中不起作用

数组映射在php中不起作用,php,mysql,Php,Mysql,我正在尝试使用此函数将丹麦字符转换为utf private function process_elements($element){ $element= strtolower ( trim ( $element ) ); $element= mysql_real_escape_string($element); return utf8_encode($element); } 使用my array时没有如下编码: Array ( [0] => Desktop [1]

我正在尝试使用此函数将丹麦字符转换为utf

private function process_elements($element){
   $element=  strtolower ( trim ( $element ) );
   $element=  mysql_real_escape_string($element);
    return utf8_encode($element);
}
使用my array时没有如下编码:

Array ( [0] => Desktop [1] => imlive [2] => dk [3] => Danish [4] => Denmark [5] => http://www.google.dk/search?ie=UTF-8&oe=UTF-8&hl=da&q=imlive&adtest=on&gl=DK&glp=1&ip=0.0.0.0&pws=0&noj=1&nomo=1 [6] => ImLive - Fr�kke cam-piger [7] => Tusindvis af rigtige amat�rer live! [8] => Fra private hjem og sovev�relser [9] => dk.imlive.com [10] => ImLive - Fr�kke cam-piger [11] => dk.imlive.com [12] => Tusindvis af rigtige amat�rer live! Fra private hjem og sovev�relser [13] => ImLive - Fr�kke cam-piger - Tusindvis af rigtige amat�rer live! [14] => dk.imlive.com [15] => Fra private hjem og sovev�relser [16] => ImLive - Fr�kke cam-piger [17] => Tusindvis af rigtige amat�rer live! Fra private hjem og sovev�relser [18] => dk.imlive.com )
以下是我的实现:

array_map('self::process_elements', $data);
函数在一个类中

后来我设置了这样的查询。例如:

        mysql_query("SET NAMES 'utf8'");
         $query="INSERT INTO advert
                 SET device='$device',
                 keyword='$keyword',
                 google_domain='$google_domain',
                 language='$language',
                 country='$country',
                 check_url='$check_url',
                 task_id=$this->task_id";

       mysql_query($query) or die(myql_error());
但它抛出了a字符错误的例外。。因为在我输入之前,它们不是utf。。为什么数组映射函数不起作用

引自php.net

如果需要从array_map调用静态方法,则不会执行此操作 工作:

相反,您需要这样做:

请记住,这将适用于任何PHP函数 它需要一个回调参数

引自php.net

如果需要从array_map调用静态方法,则不会执行此操作 工作:

相反,您需要这样做:

请记住,这将适用于任何PHP函数 它需要一个回调参数


看看这个线程:

尝试:


看看这条线:

尝试:


您无法更改该数组中的初始值,因为array_map()返回一个新数组,该数组的值已更改,因此不会通过引用传递

$newArray = array_map('self::process_elements', $data);

您无法更改该数组中的初始值,因为array_map()返回一个新数组,该数组的值已更改,因此不会通过引用传递

$newArray = array_map('self::process_elements', $data);

顺便说一句,在对字符串进行
mysql\u real\u转义后,不应更改字符串的编码
mysql\u real\u escape\u string
始终是在将值连接到查询中之前应用的最后一个函数。感谢deceze..这也有助于另一方面,在执行
mysql\u real\u escape
后,不应更改字符串的编码
mysql\u real\u escape\u string
始终是在将值连接到查询中之前应用的最后一个函数。谢谢deceze..这也很有帮助回答了我的问题回答了我的问题