首页 >后端开发 >php教程 > 拆分合并Sql语句字符串,该如何处理

拆分合并Sql语句字符串,该如何处理

WBOY
WBOY原创
2016-06-13 13:42:10830浏览

拆分合并Sql语句字符串
有一sql字符串,
$sql   =   "INSERT   INTO   tablename   (field1,field2,field3,field4,field5,field6,field7,field8)   VALUES   ( 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ') ";
现已将VALUES部分取出放到以字符串变量,如:$v= " 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ' "
问:怎样将$v拆分为数组,再合并数组后还是原样的呢?(注意单引号和逗号)


------解决方案--------------------
呕,是我没看清你的需求
请确认数据格式

尝试以下分割字符
$v= " 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ' "
$t = preg_split( '/,(?!\w+\ ',?)/i ',$v);
print_r($t);
合并
echo implode( ', ',$t);


------解决方案--------------------
$v= " 'b9 ',NULL, 'h,3,he,p ',1, 'd-0 ',1,11, '4d ' ";
$pattern = "/( '[^ ']* ')|,?([^ ',]+),?/ ";
$res = array();
if (preg_match_all($pattern, $v, $match))
{
foreach($match[1] as $key=> $val)
{
if ($val == ' ')
{
$res[$key] = $match[2][$key];
}
else
$res[$key] = $val;
}
}
echo '

  '; <br> print_r($res); <br> ?> <div class="clear">
                 
              
              
        
            </div>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn