2012-09-28 52 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); } –