我正在调用http://rolz.org/api/?4d20.json,而detail元素看起来是一个格式为[ 12 +14 +2 +8 ]
的字符串。
我希望能够将每个值与此字符串隔离,以便在数组中单独显示。起初我在元素上使用str_split()
,但我很快就意识到没有标准的值长度 - 结果可能是1,2,3或更长的长度。唯一的常见分隔符是加号。
如何以所述格式获取字符串值并将其放在一个简单的索引数组中?
我认为这是一项常见的琐事,但我不知道该怎么做。我试过了preg_split
和str_split
。 preg_split
不想让我在加号和/或括号上执行。
答案 0 :(得分:3)
我建议采用以下方法:
trim()
过滤[
,]
和“空格”字符; explode()
按+
字符分割字符串值; array_map()
+ trim()
来清理每个值。$value = ' [ 12 +14 +2 +8 ] ';
$result = explode('+', trim($value, '[] '));
$result = array_map('trim', $result);
var_dump($result);
节目:
array(4) {
[0]=>
string(2) "12"
[1]=>
string(2) "14"
[2]=>
string(1) "2"
[3]=>
string(1) "8"
}
答案 1 :(得分:1)
<?php
$detail = " [ 14 +20 +14 +16 ] ";
$arr = explode('+',str_replace(array(" ","[","]"),"",$detail));
print_r($arr);
?>
显示
Array ( [0] => 14 [1] => 20 [2] => 14 [3] => 16 )
答案 2 :(得分:0)
使用explode
$result = explode('+', $yourString);
答案 3 :(得分:-1)
从SanKalp Mishra的回答中,我只想补充一些内容。
使用爆炸
$result = explode("+", $yourString);
$firstStr = $result[0];
$secondStr = $result[1];
$thirdStr = $result[2];
$fourthStr = $result[3];
已准备好插入数组中。