【问题标题】:how can I split array by delimiter如何按分隔符拆分数组
【发布时间】:2014-10-02 01:03:14
【问题描述】:

我得到了使用 '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

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

我知道 'explode()' 拆分字符串和输出数组。但即使在那之后尝试查看结果。它给了我错误。

期待专家的帮助。

提前致谢。

【问题讨论】:

    标签: php arrays fopen explode


    【解决方案1】:
    $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);
    }
    

    【讨论】:

    • 我不认为它需要
      ,但其他很好的答案 +1
    • @cheery 非常感谢。它奏效了。+10000 和很多爱
    • @l'L'l 刚刚复制了 TS 输出的内容)
    • @cheery 你知道获得相同输出的任何其他方法吗?我需要选项(Opt1、Opt2、Opt3)作为单选按钮。按照你提到的方式,我认为这是不可能的
    • @cheery 非常感谢。您非常友好和乐于助人。
    猜你喜欢
    • 2013-11-27
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    相关资源
    最近更新 更多