【问题标题】:PHP: Explode a complex stringPHP:分解一个复杂的字符串
【发布时间】:2012-01-28 01:26:15
【问题描述】:

我有一个很长的字符串,像这样:

11070, 'EP_LQ-630', 'LQ-630, 24 pin, A4, 360 cps, USB 1.1&LPT', NULL, 6438, 1, 45, 1, 5184, 0, 20, NULL, NULL, 432, 1, 5088, 0, 424, 1, 1, 4, 1, NULL, NULL, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, 370, 1, 369, 1, 368, 1, 367, 1, NULL, NULL, NULL, NULL, NULL, 1, '8443', NULL, NULL, NULL, '07.12.2011 18:16:28', NULL, NULL, '8471604', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 366, 1, ';6438;6432;4873;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL

这是 SQL 插入查询的一部分,逗号分隔的值是列。
如果我在第三列中有一个字符串,它也包含逗号,我如何按列分解这个字符串?

【问题讨论】:

    标签: php string explode


    【解决方案1】:

    您可以使用str_getcsv 函数解析以逗号分隔的值列表:

    $parsed_array = str_getcsv($string, ',', "'"); //Return value: array
    // Separated by :  ,  (comma)
    // Enclosused by:  '  (single quote)
    

    【讨论】:

      【解决方案2】:

      试试str_getcsv

      <?php
      $s = "11070, 'EP_LQ-630', 'LQ-630, 24 pin, A4, 360 cps, USB 1.1&LPT', NULL, 6438, 1, 45, 1, 5184, 0, 20, NULL, NULL, 432, 1, 5088, 0, 424, 1, 1, 4, 1, NULL, NULL, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, 370, 1, 369, 1, 368, 1, 367, 1, NULL, NULL, NULL, NULL, NULL, 1, '8443', NULL, NULL, NULL, '07.12.2011 18:16:28', NULL, NULL, '8471604', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 366, 1, ';6438;6432;4873;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL";
      $a = str_getcsv($s, ",", "'");
      var_export($a);
      

      【讨论】:

        猜你喜欢
        • 2016-06-20
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多