爆炸$ wpdb->插入的mysql字符串

时间:2013-07-04 14:56:13

标签: php wordpress explode

我正在尝试爆炸这个字符串,因此它可以在wordpress中使用“$ wpdb-> insert”函数。 这是要插入的字符串。该文件包含大约42k字符串,如下所示:

(601, 'STANDARD', 'Adjuntas', '', 'Colinas Del Gigante, Jard De Adjuntas, Urb San Joaquin', 'PR', 'Adjuntas', 'America/Puerto_Rico', '787,939', '18.16', '-66.72', 'NA', 'US', 0, 0, ''),

这是代码

if ( file_exists(realpath(dirname(__FILE__)).'/install/usa_zip_codes.sql')){
                $filecontent = explode("\n",file_get_contents( realpath(dirname(__FILE__)).'/install/usa_zip_codes.sql'));
                foreach( $filecontent as $row){
                    $array = array();
                    $array = explode(", ", trim(preg_replace("/[()]/","",$row),","));
                    $wpdb->insert( 
                            $wpmyplugin_table['yp_usa_zip_codes'], 
                            array( 
                                    'zip' => $array[0], 
                                    'type' => trim($array[1],"'"),
                                    'primary_city' => trim($array[2],"'"),
                                    'acceptable_cities' => trim($array[3],"'"),
                                    'unacceptable_cities' => trim($array[4],"'"),
                                    'state' => trim($array[5],"'"),
                                   ....

但是当我有像 'Colinas Del Gigante,Jard De Adjuntas,Urb San Joaquin' 这样的字符串时,它也会将其拆分为数组元素。我试图按explode(", '",进行爆炸,但此部分 ,0,0,'' 不能正确分割。你是如何处理这些事情的?

1 个答案:

答案 0 :(得分:1)

看看str_getcsv。你应该能够转换

(601, 'STANDARD', 'Adjuntas', '', 'Colinas Del Gigante, Jard De Adjuntas, Urb San Joaquin', 'PR', 'Adjuntas', 'America/Puerto_Rico', '787,939', '18.16', '-66.72', 'NA', 'US', 0, 0, ''),

分为:

601, 'STANDARD', 'Adjuntas', '', 'Colinas Del Gigante, Jard De Adjuntas, Urb San Joaquin', 'PR', 'Adjuntas', 'America/Puerto_Rico', '787,939', '18.16', '-66.72', 'NA', 'US', 0, 0, ''
然后可以使用

str_getcsv将上面的字符串转换为数组。这将忽略值内的逗号。