我有一个文本文件,其中包含如下数字:
12345678901234567890
123456789012345678901
123456789012345678902
1234567890123456789012
1234567890123456789023
12345678901234567890123
12345678901234567890234
我写了一个脚本来逐行读取这个文件。我想计算行中的字符,而不仅仅是字节,并且只选择包含 21 或 22 个字符的行。
使用下面的脚本有效。不要问我为什么当我说 23 时它读取 21 个字符。我认为这与文件编码有关,因为strlen
我只得到了字节。
选择长度为 21 或 22 个字符的行后,我需要拆分行。如果是21,应该变成两个字符串(一个15个字符串和一个6个字符串),如果是22个字符应该分成一个16个字符串和一个6个字符串。
我尝试将它放在一个数组中,但数组显示如下:
Array ( [0] => 123456789012345 [1] => 678901 ) Array ( [0] => 123456789012345 [1] => 678903 )
我希望它改为这样显示:
123456789012345=678901
123456789012345=678903
知道如何从数组中回显吗?
$filename = "file.txt";
$fp = fopen($filename, "r") or die("Couldn't open $filename");
while (!feof($fp)){
$line = fgets($fp);
$str = strlen($line);
if($str == 23){
$str1=str_split($line, 15);
print_r($str1);
foreach ($str1 as $value)
{
echo $value . "=" ;
}
}
if($str == 24){
$str1=str_split($line, 16);
foreach ($str1 as $value)
{
echo $value . "=" ;
}
}
}