如果你想让你的部分包含逗号呢?好吧,引用它们。那报价呢好吧,加倍。换句话说: part1,"part2,with a comma and a quote "" in it",part3 PHP提供了https://php.net/str_getcsv函数来解析字符串,就像它是CSV文件中的一行一样,可以与上面的一行而不是explode一起使用:
print_r(str_getcsv('part1,"part2,with a comma and a quote "" in it",part3'));
Array
(
[0] => part1
[1] => part2,with a comma and a quote " in it
[2] => part3
)
count(explode(',', null)); // 1 !!
explode(',', null); // [""] not an empty array, but an array with one empty string!
explode(',', ""); // [""]
explode(',', "1,"); // ["1",""] ending commas are also unsupported, kinda like IE8
9条答案
按热度按时间kmpatx3s1#
尝试explode:
输出量:
ssm49v7z2#
对于更复杂的情况,您可能需要使用
preg_split
。webghufk3#
如果该字符串来自csv文件,我将使用
fgetcsv()
(如果您有PHPV5.3,则使用str_getcsv()
)。这将使您能够正确地解析带引号的值。如果不是csv,explode()
应该是最好的选择。ep6jt1vc4#
如果你想让你的部分包含逗号呢?好吧,引用它们。那报价呢好吧,加倍。换句话说:
part1,"part2,with a comma and a quote "" in it",part3
PHP提供了https://php.net/str_getcsv函数来解析字符串,就像它是CSV文件中的一行一样,可以与上面的一行而不是
explode
一起使用:pnwntuvh5#
explode
在真实的使用中存在一些非常大的问题:这就是为什么我更喜欢preg_split
整个样板文件:
vuktfyat6#
使用explode()或preg_split()函数在PHP中使用给定的分隔符拆分字符串
f2uvfpb97#
如果有人想用for-each将逗号分隔的字符串转换为列表项,那么它将帮助你...此代码用于刀片模板
rbpvctlc8#
hpxqektj9#
逗号之间可以有空格。逗号之间也可能没有有用的数据。函数preg_split将有助于处理这些情况: