2012-09-28 36 views
0

我有一个返回像这样的数组,它显示在多行上,这是一个系统生成的。如何通过PHP设置格式化数组的结果

我想通过PHP将数组转换为一个班轮结果。请参阅下面的示例。

Array 
(
    [0] => ping via eth0 2012-6-27 8:18:31 YES 
ping via eth0 2012-6-27 8:18:36 NO!!! 
ping via eth1 2012-6-27 8:18:36 YES : ping via eth1 2012-7-19 7:48:3 YES 
ping via eth2 2012-7-19 7:48:3 not check 
ping via eth3 2012-7-19 7:48:3 YES 
) 

只返回或东西这样一行:

Array 
(
    [0] => ping via eth0 2012-6-27 8:18:31 YES : ping via eth0 2012-6-27 8:18:36 NO!!! : ping via eth1 2012-6-27 8:18:36 YES : ping via eth1 2012-7-19 7:48:3 YES : ping via eth2 2012-7-19 7:48:3 not check : ping via eth3 2012-7-19 7:48:3 YES 
) 

感谢。

+0

上面的一条并不是多条线,它在一条线上。可能你已经使用'var_dump'来查看这个。 –

+0

嗨Yogesh,结果来自var_dump。当我尝试将数据保存到CSV并且有多行时发现。所以我通过var_dump进行调查,这就是我所看到的。 –

+0

okk ...所以现在你有一些答案,试试这个.. –

回答

1

使用本

$str = "ping via eth0 2012-6-27 8:18:31 YES 
ping via eth0 2012-6-27 8:18:36 NO!!! 
ping via eth1 2012-6-27 8:18:36 YES 
ping via eth1 2012-7-19 7:48:3 YES 
ping via eth2 2012-7-19 7:48:3 not check 
ping via eth3 2012-7-19 7:48:3 YES "; 

$str = preg_replace ('/[\n\r]/', ' : ', $str); 


print_r($str); 

工作示例http://codepad.viper-7.com/NPuAzf

+0

这对我有用。太感谢了。 –

0

如果数据是在$ a [0],那么这应该这样做:

$a[0] = preg_replace ('/[\n\r]/+', ' : ', $a[0]); 
+0

它不显示任何内容。 –

+0

我试过你的建议,但阵列变空了。 –

0

如果阵列有一个以上的线,你可以使用:

foreach ($entries as &$entry) { 
    $entry = preg_replace('/[\r\n]', ':', $entry); 
} 
+0

这不会显示任何内容。 $ entries = $ row ['data01']; foreach($ entries as&$ entry){ $ entry = preg_replace('/ [\ r \ n]',':',$ entry); } –