如何根据换行符和 ";" 分割字符串,然后将所有行作为行提取

3

我有一个看起来像这样的txt文件

Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100
Milutin;Milankovic;1;2, 3, 4, 5, 6, 89;1000

我使用以下代码按照换行符拆分了它:

Code:

$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 ,所以不知道如何做。感谢任何帮助。
更新:抱歉,我忘了提到我需要动态地执行此操作,因为每天都会添加新行。

3
PHP内置了一个有用的函数叫做fgetcsv(),它允许你将分隔符参数设置为分号(;)...我提供的PHP文档页面会展示给你如何使用它。 - Mark Baker
为什么要重复造轮子? - B001ᛦ
4个回答

4
您可以使用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
)

是的,它正在做我需要的事情。谢谢。 - Stefan Michelangelo Mihajlovic

1
使用explode函数。

Use explode function.

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

1
这是你想做的东西吗?
$myArrayRow = $tab[0];
$explodeArray = explode(";", $arraySplit);

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

请查看此链接:http://php.net/manual/fr/function.explode.php


0
如果我理解你想做什么的话,你可以尝试使用explode函数: 例如:
$myString = "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100";
$myArray = explode(';', $myString);
print_r($myArray);

你可以在这个游乐场中尝试这段代码:http://www.tehplayground.com/#j3sy2ItTZ


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接