PHP:我怎样才能用逗号分解一个字符串,而不是逗号在引号内的位置?

2022-08-30 17:26:33

我需要将字符串输入分解为逗号处的数组。但是,该字符串在引号内包含逗号。

输入:

$line = 'TRUE','59','A large number is 10,000';

$linearray = explode(",",$line);
$linemysql = implode("','",$linearray);

返回$linemysql为:

'TRUE','59','A large number is 10','000'

我该如何去完成这项工作,爆炸忽略引号内的逗号?


答案 1

由于您使用的是逗号分隔值,因此可以使用str_getcsv

str_getcsv($line, ",", "'");

会再来:

Array
(
    [0] => TRUE
    [1] => 59
    [2] => A large number is 10,000
)

答案 2

似乎您不想通过逗号拆分字符串,而是通过引号+逗号+引号的连续性来拆分字符串?

如果是这样,preg_split函数可能会有所帮助,请点击此处。


例如,使用以下部分代码:

$line = "'TRUE','59','A large number is 10,000'";
$parts = preg_split("/','/", $line);
var_dump($parts);

我得到以下输出:

array
  0 => string ''TRUE' (length=5)
  1 => string '59' (length=2)
  2 => string 'A large number is 10,000'' (length=25)

从这开始,现在的问题是在调用之前删除字符串的第一个和最后一个引号 - 因为这些是分隔符,并且与拆分模式不匹配。$linepreg_split


推荐