(PHP 5 >= 5.3.0, PHP 7, PHP 8)
str_getcsv — 解析 CSV 字符串为一个数组
$string,$separator = ",",$enclosure = "\"",$escape = "\\"以 CSV 字段格式解析字符串输入,并返回包含读取字段的数组。
注意:
此函数考虑区域设置。如果
LC_CTYPE是类似en_US.UTF-8的值,此函数将错误的读取单字节编码的字符串。
string待解析的字符串。
separator设定字段界定符(仅一个单字节字符)。
enclosure设定字段包裹字符(仅一个单字节字符)。
escape
设置转义字符(最多一个单字节字符)。默认为反斜线(\)。空字符串("")禁用专有转义机制。
注意: Usually an
enclosurecharacter is escaped inside a field by doubling it; however, theescapecharacter can be used as an alternative. So for the default parameter values""and\"have the same meaning. Other than allowing to escape theenclosurecharacter theescapecharacter has no special meaning; it isn't even meant to escape itself.
返回一个包含读取到的字段的索引数组。
| 版本 | 说明 |
|---|---|
| 7.4.0 |
escape 现在将空字符串视为禁用专有转义机制的信号。以前视为默认参数值。
|
示例 #1 str_getcsv() 示例
<?php
$string = 'PHP,Java,Python,Kotlin,Swift';
$data = str_getcsv($string);
var_dump($data);
?>以上示例会输出:
array(5) {
[0]=>
string(3) "PHP"
[1]=>
string(4) "Java"
[2]=>
string(6) "Python"
[3]=>
string(6) "Kotlin"
[4]=>
string(5) "Swift"
}
示例 #2 处理空字符串的 str_getcsv() 示例
对于空字符串,此函数返回值 [null] 从而代替空数组。
<?php
$string = '';
$data = str_getcsv($string);
var_dump($data);
?>以上示例会输出:
array(1) {
[0]=>
NULL
}