2016-04-02 88 views
0

我從api獲取一串文本,我需要將它分成3個變量,以便將其存儲在數據庫中,並稍後在腳本中使用它。

我查看過list()但是由於我的字符串沒有用逗號隔開,所以在這種情況下不起作用。

我需要從OK:0989239037400167310:0.022得到以下的輸出:

$var1 = 'OK';

$var2 = '0989239037400167310';

$var3 = '0.022';

什麼是我能做到這一點的最簡單方法是什麼?

回答

4

您可以使用explode(),因爲你有分開的部分共同的分隔符:

$result = 'OK:0989239037400167310:0.022'; 

$arr = explode(':', $result); 

$var1 = $arr[0]; // OK 
$var2 = $arr[1]; // 0989239037400167310 
$var3 = $arr[2]; // 0.022 

旁註:list()需要一個數組,而不是一個逗號分隔字符串。您可以結合使用list()explode()因爲explode()產生一個數組:

$arr = explode(':', $result); 
list($var1, $var2, $var3) = $arr; 
+0

謝謝,這是完美的! :) – Borsn

2

您可以使用此功能explode

$str = "OK:0989239037400167310:0.022"; 

$result = explode(":",$str); 

foreach($result as $k => $v){ 
    ${"var".$k} = $v; 
} 

echo '$var0 = '.$var0."\n"; 
echo '$var1 = '.$var1."\n"; 
echo '$var2 = '.$var2."\n"; 

我們知道我們會得到我們可以簡單的三個變量也可以做像

list($var1,$var2,$var3) = explode(":",$str); 
+0

你不能將數組轉換爲字符串 – Black

+0

阿里你不能回顯數組?回聲$結果[0]等[1] ...或者你可以測試使用var_dump($結果) –

+0

阿里現在已經晚了,有些時候你做錯了答案,並糾正你知道,順便說一句,我有記錄下來投票您。只是想建議 –

相關問題