-1

我正在调用http://rolz.org/api/?4d20.json并且 details 元素看起来是一个格式为[ 12 +14 +2 +8 ].

我希望能够从这个字符串中分离出每个值,以便在一个数组中单独显示。起初我str_split()在元素上使用,但我很快意识到值没有标准长度 - 结果可能是 1、2、3 或更长的长度。唯一常见的分隔符是加号。

如何获取所述格式的字符串值并将其放入简单的索引数组中?

我认为这是一项常见的琐碎任务,但我不知道该怎么做。我试过preg_splitstr_splitpreg_split不想让我在加号和/或括号上执行。

4

4 回答 4

3

我会建议以下方法:

  1. 用于trim()过滤[,]和“空格”字符;
  2. 用于explode()+字符拆分字符串值;
  3. 使用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"
}
于 2013-06-04T05:53:32.220 回答
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 )

于 2013-06-04T05:58:39.617 回答
0

利用explode

$result = explode('+', $yourString);
于 2013-06-04T05:49:49.440 回答
-1

从 SanKalp Mishra 的回答中,我想补充一点。

使用爆炸

$result = explode("+", $yourString);

$firstStr = $result[0];
$secondStr = $result[1];
$thirdStr = $result[2];
$fourthStr = $result[3];

并且准备好插入数组中。

于 2013-06-04T05:57:42.147 回答