как я могу разделить массив по разделителю

Я получил строку, которую я разделил, используя ‘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 ()’ разделить строку и выходной массив. Но даже после этого пытался увидеть результат. Это дает мне ошибку.

С нетерпением ждем помощи экспертов.

Заранее спасибо.

0

Решение

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

Кодекс предполагает, что не QuestionN, OptN есть символы |, , а также ; внутри.

Если вы хотите отделить все вещи

$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);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]