php explode()分隔符问题

时间:2011-11-18 17:48:28

标签: php arrays

我是PHP的新手,所以这可能是一个简单的修复 我有一个名为textt.txt的文本文件,如下所示:

  

东南亚,2222,代码1   寒假,3333,code2

我的PHP代码如下所示:

<?php       
$x = file_get_contents('textt.txt');
        $y = explode("\r\n", $x);
        $z = $y[0];
    echo $z;
?>

结果是:

  

东南亚,2222,代码1

我希望它只返回:

  

东南亚。

我怎样才能实现这一目标?

5 个答案:

答案 0 :(得分:2)

explode()再次使用逗号。您对explode()的第一次调用按行拆分字符串,每行包含逗号分隔的字符串。

<?php       
$x = file_get_contents('textt.txt');
        $y = explode("\r\n", $x);

        // $y[0] now contains the first line "South East asia,2222,code1"
        // explode() that on ","
        $parts = explode(",", $y[0]);

        // And retrieve the first array element
        $z = $parts[0];
    echo $z;
?>

答案 1 :(得分:1)

我认为你想要做的就是像你一样将它拆分为\ r \ n,然后通过数组循环并在逗号上将其展开以仅获取该区域:

<?php       
$file = file_get_contents('textt.txt');
$fileArray = explode("\r\n", $file);

foreach($fileArray as $value) {
    $region = explode(",", $value);
    echo $region[0] . "<br />\n";
}
?>

答案 2 :(得分:0)

快速&amp;脏:

<?php       
$all_file = file_get_contents('textt.txt');
$lines = explode("\r\n", $all_file);
$first_line = $lines[0];
$items = explode(",", $first_line);
echo $item[0];

答案 3 :(得分:0)

东南亚 , 2222,code1

寒假, 3333 , code2

$x = file_get_contents('textt.txt');
list($z) = explode(",", $x);
echo $z;

答案 4 :(得分:0)

根据您的使用情况,您可能不希望一次性读取整个文件:

$fp = fopen('textt.txt', 'r');
list($z) = fgetcsv($fp);