Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按行和逗号分析项目_Php - Fatal编程技术网

Php 按行和逗号分析项目

Php 按行和逗号分析项目,php,Php,我在页面上有一个文本区域。用户将按行和逗号键入项目 比如说, data1, data1info data2, data2info data3, data3info 每行有2项 如何在每行中解析它们,并在每行中分别获取项目 thnx使用preg_split将换行符上的行断开,然后再次将行断开为两部分 例如: $lines = preg_split( "[\r\n]", $_POST[ 'TextArea' ] ); foreach( $lines as $line ) { list( $

我在页面上有一个文本区域。用户将按行和逗号键入项目

比如说,

data1, data1info
data2, data2info
data3, data3info
每行有2项

如何在每行中解析它们,并在每行中分别获取项目


thnx

使用preg_split将换行符上的行断开,然后再次将行断开为两部分

例如:

$lines = preg_split( "[\r\n]", $_POST[ 'TextArea' ] );
foreach( $lines as $line )
{
    list( $data, $info ) = preg_split( ",\s+", $line, 2 );
    // Use $data and $info...
}
您可以使用按行的结尾首先拆分字符串;、再次分解这些行,使用“,”作为分隔符:

$str = <<<STR
data1, data1info
data2, data2info
data3, data3info
STR;

$lines = explode(PHP_EOL, $str);
foreach ($lines as $line) {
    list ($first, $second) = explode(',', $line);
    $first = trim($first);
    $second = trim($second);
    var_dump($first, $second);
}

你习惯于用换行符来分割。。然后再次使用逗号分隔。然后,您可能会在结果数组上使用,来删除任何周围的空白,这似乎很好,但如果用户没有在一行中键入$info或逗号,或者只键入$data,那么$info会是空的吗?
$str = <<<STR
data1, data1info
data2, data2info
data3, data3info
STR;

$lines = explode(PHP_EOL, $str);
foreach ($lines as $line) {
    list ($first, $second) = explode(',', $line);
    $first = trim($first);
    $second = trim($second);
    var_dump($first, $second);
}
string 'data1' (length=5)
string 'data1info' (length=9)
string 'data2' (length=5)
string 'data2info' (length=9)
string 'data3' (length=5)
string 'data3info' (length=9)