如何通过分隔符拆分数组

时间:2014-10-02 01:03:15

标签: php arrays fopen explode

我使用' explode()'我得到了一些字符串。但是我需要做更多的步骤。我必须通过分隔符将该数组输出分割几次。

txt文件的内容如下所示

 Question1|opt1,opt2,opt3;Question2|opt1,opt2,opt3;question3|opt1,opt2,opt3;Question4|opt1,opt2,opt3;

请查看代码

$open=fopen("mydata.txt","r+");
  while(!feof($open)){
     $see=fgets($open);
     $exp=explode(";",$see);
     //$exp1=explode("|",$exp);
     //$exp2=explode(",",$exp1);

     $vaq = "</br> ".$imp[0];
     echo $vaq;

    }
fclose($open);

我需要的是以下列格式回应

Question1
Opt1
Opt2
Opt3

Question2
Opt1
Opt2
Opt3

.......
.......
....... 

我知道&#39;爆炸()&#39;拆分字符串和输出数组。但即使在那之后试图查看结果。它给了我错误。

期待获得专家协助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

$str = file_get_contents('mydata.txt');
$data = preg_split('/[\|,;]/', $str);
echo join("\n<br>", $data);

代码假定非QuestionNOptN内有符号|,;

如果你想分开所有的东西

$blocks = explode(';', file_get_contents('mydata.txt'));
foreach($blocks as $block)
{
    list($question, $opts) = explode('|', $block);
    $opts = explode(',', $opts);

    // do whatever you wanted to do
    var_dump($question);
    var_dump($opts);
}