2015-12-03 56 views

回答

0

如果您的字符串存在於變量$ temp

例如, $ temp ='$ msg =溫度:29.6℃RH:57%WD:29℃WS:0.6Kts SLP:1005.4hPa雨:0.0mm';

then $ msg = str_replace('$ msg =','',$ temp);

會給你在$ msg變量中的慾望輸出值。

0

通過從值和單位中刪除空格來創建一個新字符串。它應該如下所示。

$msg=Temp:29.6C RH:57% WD:29Deg WS:0.6Kts SLP:1005.4hPa Rain:0.0mm 

使用爆炸()函數

 $msgarray = explode(" ", $msg); 
    it will return $msgarray[0]=Temp:29.6C and so on... 

for($i=0;$1<count(&msgarray);i++ 
{ 
$temp = explode(":", $msgarray[i]); 
$key = $temp[0]; 
$value = $temp[1]; 
$output[key] = $value; 
} 
echo '<pre>'; 
print_r($output); 

$輸出數組將包含與該鍵相關聯的鍵和值爆炸的字符串。這將是一個關聯數組$輸出數組會像下面

$output['Temp'] = 29.6C 
$output['RH'] = 57% 
$output['WD'] = 29Deg 
$output['WS'] =0.6Kts 
$output['SPL'] =1005.4hPa 
$output['Rain'] = 0.0mm 
0

可以使用preg_match_all

$msg = 'Temp:29.6 C RH:57 % WD:29 Deg WS: 0.6 Kts SLP:1005.4 hPa Rain:0.0 mm'; 

preg_match_all('/([a-z]+):([0-9]+\.?[0-9]+?[\s]{1,2}[a-z%]+)/i', $msg, $matches); 

$values = array_combine($matches[1], $matches[2]); 

echo '<pre>'; 
var_dump($values); 
echo '</pre>'; 

的結果將是一個結構爲:

array(5) { 
    ["Temp"]=> 
    string(6) "29.6 C" 
    ["RH"]=> 
    string(4) "57 %" 
    ["WD"]=> 
    string(6) "29 Deg" 
    ["SLP"]=> 
    string(10) "1005.4 hPa" 
    ["Rain"]=> 
    string(7) "0.0 mm" 
} 
相關問題