2016-04-02 51 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

阿里现在已经晚了,有些时候你做错了答案,并纠正你知道,顺便说一句,我有记录下来投票您。只是想建议 –

相关问题