2011-04-19 54 views
0

我有兩個問題,我希望能得到幫助上一個字符串:結合數組和更新值

  1. 合併兩個數組合併爲一個字符串 ,並添加一些格式
  2. 將新的字符串轉換成 在更大的字符串中的特定點。

我有兩個數組:

$array_1 = array("100","200","300"); 
$array_2 = array("abc","def","ghi"); 

$result = array_merge($array_1, $array_2); 

foreach ($result as $val){ 
//NEED HELP HERE create a string that adds a "mac=" to the beginning of the current $val and adds a "/n" to the end of the current value. 
} 

以上應該以某種方式創建下面的字符串:

$my_string = "mac=100/n 
       mac=200/n 
       mac=300/n 
       mac=abc/n 
       mac=def/n 
       mac=ghi/n"; 

現在對於部分#2

我有一個當前字符串,這是已創建:

$current_String = "[MACS]/n 
        mac=blah1/n 
        mac=blah2/n 
        mac=blah3/n 
        [SERVICES]"; 

我的最後一個問題是$my_string

[MACS]/n[SERVICES]之間,以取代一切,所以我應該結束了:

$updated_String = "[MACS]/n 
        mac=100/n 
        mac=200/n 
        mac=300/n 
        mac=abc/n 
        mac=def/n 
        mac=ghi/n 
        [SERVICES]"; 

任何幫助或洞察力將不勝感激。

+0

我需要一個漢堡包,一大杯可樂。 – 2011-04-19 20:15:29

+1

並不意味着要求苛刻。 – Denoteone 2011-04-19 20:27:24

回答

2

這應該工作:

$array_1 = array("100","200","300"); 
$array_2 = array("abc","def","ghi"); 

$result = array_merge($array_1, $array_2); 

$myString = "[MACS]/n\nmac=" . implode($result, "/n\nmac=") . "/n\n[SERVICES]"; 

//replace in other string 
$macsIndex = strrpos($currentString, "[MACS]"); 
$servicesIndex = strrpos($currentString, "[SERVICES]"); 
$currentString = substr($currentString, 0, $macsIndex) . $myString . substr($currentString, servicesIndex+10); 

輸出:

[MACS]/n 
mac=100/n 
mac=200/n 
mac=300/n 
mac=abc/n 
mac=def/n 
mac=ghi/n 
[SERVICES] 
+0

確定這個作品完美謝謝!但是,如果$ current_String是一個更大的字符串的一部分呢?我可以使用$ myString查找和替換[MACS]和to0 [SERVICES]之間的所有內容嗎? – Denoteone 2011-04-19 20:35:05

+0

查看編輯後 – 2011-04-19 20:46:07

0
$formatted = ''; 
foreach ($result as $val){ 
    $val = sprintf("mac=%s\n", $val); 
    $formatted .= $val; 
}