我们如何将文件中的文本(逐字)放入 PHP 中的二维数组?
How do we get text from a file (word-by-word) into a 2D array in PHP?
我有一个文本文件,其中包含一些我想放入二维数组中的内容。该文本文件由等长的句子组成。如何将每个单词放入数组?
文本文件的例子是-
This is Whosebug
I am user
此文件每行包含 3 个单词
This - at [0][0] position
is - at [0][1] position
Whosebug - at [0][2] position
I - at [1][0] position
am - at [1][1] position
user - at [1][2] position
我做了类似的东西,但似乎没有成功。
$word_count = $word_length = 0;
if ($fh = fopen('array.txt','r')) {
while (! feof($fh)) {
if ($s = fgets($fh,1048576)) {
$words = preg_split('/\s+/',$s,-1,PREG_SPLIT_NO_EMPTY);
foreach ($words as $word) {
$word_count++;
$word_length += strlen($word);
$array = array();
for($i=$a;$i<($word_count/4);$i++)
{
for($j=$b;$j<4;$j++)
{
$array[$i][$j]=$words[$j];
}
}
}
}
}
}
如有任何帮助,我们将不胜感激。谢谢
这应该适合你:
只需将您的文件读入一个数组 file()
和 explode()
每行 space 和 array_map()
.
$lines = array_map(function($v){
return explode(" ", $v);
}, file("yourTextFile.txt", FILE_IGNORE_NEW_LINES |FILE_SKIP_EMPTY_LINES));
我有一个文本文件,其中包含一些我想放入二维数组中的内容。该文本文件由等长的句子组成。如何将每个单词放入数组?
文本文件的例子是-
This is Whosebug
I am user
此文件每行包含 3 个单词
This - at [0][0] position
is - at [0][1] position
Whosebug - at [0][2] position
I - at [1][0] position
am - at [1][1] position
user - at [1][2] position
我做了类似的东西,但似乎没有成功。
$word_count = $word_length = 0;
if ($fh = fopen('array.txt','r')) {
while (! feof($fh)) {
if ($s = fgets($fh,1048576)) {
$words = preg_split('/\s+/',$s,-1,PREG_SPLIT_NO_EMPTY);
foreach ($words as $word) {
$word_count++;
$word_length += strlen($word);
$array = array();
for($i=$a;$i<($word_count/4);$i++)
{
for($j=$b;$j<4;$j++)
{
$array[$i][$j]=$words[$j];
}
}
}
}
}
}
如有任何帮助,我们将不胜感激。谢谢
这应该适合你:
只需将您的文件读入一个数组 file()
和 explode()
每行 space 和 array_map()
.
$lines = array_map(function($v){
return explode(" ", $v);
}, file("yourTextFile.txt", FILE_IGNORE_NEW_LINES |FILE_SKIP_EMPTY_LINES));