如何用新行和“;”拆分字符串然后 fetchall 作为行

How to i split String by new line and by ";" and then fetchall as row

我有一个看起来像

的txt文件
Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100
Milutin;Milankovic;1;2, 3, 4, 5, 6, 89;1000

我设法用下面的代码换行拆分它

$array = file('test.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    var_dump($array);

输出是这样的:

array(2) { 
[0]=> string(82) "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100" 
[1]=> string(82) "Milutin;Milankovic;1;2, 3, 4, 5, 6, 89;1000" 
}

我现在需要的是用“;”分割每个数组并连续获取所有内容。 老实说,我几天前开始学习 PHP,所以我不知道该怎么做。 感谢任何帮助

更新 对不起,我忘了说我需要动态地做,因为每天都会添加新行。

您可以使用 explode() 函数通过 ;

从字符串创建数组
$newArray = array( 
  "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100",
  "Milutin;Milankovic;1;2, 3, 4, 5, 6, 89;1000" 
);
foreach($newArray as $arr) {
   print_r(explode(";",$arr));
}

输出:

Array
(
    [0] => Stefan
    [1] => Mihajlovic
    [2] => 2
    [3] => 3, 2, 3, 2, 3, 2
    [4] => 100
)

Array
(
    [0] => Milutin
    [1] => Milankovic
    [2] => 1
    [3] => 2, 3, 4, 5, 6, 89
    [4] => 1000
)

Use explode function.

$a = "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100";
$b = explode(";",$a);
var_dump($b);

这是你想做的事吗?

$myArrayRow = $tab[0];
$explodeArray = explode(";", $arraySplit);

echo $explodeArray[0] // Stefan
echo $explodeArray[1] // Mihajlovic

检查此 link :http://php.net/manual/fr/function.explode.php

如果我得到你想做的事情。您可以尝试爆炸功能: 例如:

$myString = "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100";
$myArray = explode(';', $myString);
print_r($myArray);

您可以在这个 playground 中尝试代码:http://www.tehplayground.com/#j3sy2ItTZ