php fgets爆炸显示;数组。”;而不是$array
我正在尝试将一个纯文本日志文件(没有文字包装)转换成更可读的文件。 php文件php fgets爆炸显示;数组。”;而不是$array,php,arrays,fopen,explode,Php,Arrays,Fopen,Explode,我正在尝试将一个纯文本日志文件(没有文字包装)转换成更可读的文件。 php文件 每当日志文件中有|时,php脚本应在输出中将其更改为。 然而,当打开php文件时,我得到的只是 数组。 数组。 日志文件的内容 Sachen | Enter | nochmal Enter | and schon wieder Enter。我是一个初学者,开始阅读有关fopen和explode的文章。我以为这正是我需要的,但有点不对劲。。。?提前感谢:)使用echo';印刷费($arrM) <?php $l
每当日志文件中有|
时,php脚本应在输出中将其更改为
。
然而,当打开php文件时,我得到的只是
数组。
数组。
日志文件的内容
Sachen | Enter | nochmal Enter | and schon wieder Enter
。我是一个初学者,开始阅读有关fopen和explode的文章。我以为这正是我需要的,但有点不对劲。。。?提前感谢:)使用echo';印刷费($arrM)代码>
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
//echo "$arrM . <br>";
print_r($arrM);
}
fclose($log)
?>
原因是,如果数组是在echo中打印的,PHP将显示数组,因此您最好看看打印出来的是什么,相应地,您可以访问变量,或者将其放入循环中。问题是您无法使用echo
输出数组,您需要像
foreach($arrM作为$row)echo$row
或使用var\u dump($arrM)
作为“开发人员输出”或print\r($arrM)
的替代方法。用于打印阵列(开发人员输出)
打印一个或多个字符串
因为当你分解时,你正在创建一个数组。你必须在它们之间循环。回答这里为什么投反对票?我给出了正确的解释和答案。谢谢,这非常有效
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
//echo "$arrM . <br>";
print_r($arrM);
}
fclose($log)
?>
<?php
$log = fopen("/home/raspi/scripts/logs/test.log", "r");
while (!feof($log)){
$arrM = explode("|",fgets($log));
//echo "$arrM . <br>";
foreach($arrM as $string){
echo $string . '<br>';
}
}
fclose($log)
?>