3

我有看起来像的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,所以我不知道该怎么做。任何帮助表示赞赏

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

4

4 回答 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
)
于 2016-06-17T10:21:43.963 回答
1

使用爆炸功能。

$a = "Stefan;Mihajlovic;2;3, 2, 3, 2, 3, 2;100";
$b = explode(";",$a);
var_dump($b);
于 2016-06-17T10:23:36.397 回答
1

这是你想做的事情吗?

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

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

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

于 2016-06-17T10:27:14.197 回答
0

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

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

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

于 2016-06-17T10:29:07.567 回答