计算不同的空间"给定数字之间

时间:2016-03-31 12:06:33

标签: php calculated-field

我有一行数字作为字符串:

$numbers = x, 5, 7, x, 9, 4, x, 3, 9, 5, x, ...

现在我想计算"持续时间" x之间。

' X'出现:

2x times after [2] numbers
1x times after [3] numbers

我无法弄清楚,php中哪种方法最能解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果数字总是0-9,你可以删除逗号和空格,并使用strpos找出x的位置。不需要爆炸。

$numbers = 'x, 5, 7, x, 9, 4, x, 3, 9, 5, x';
$string = str_replace(', ', '', $numbers);

$index = 0;
$previousPosition = 0;
$positionDifferences = array();

while($index < strlen($string)){
    $index = strpos($string, 'x', $index);
    $diff = $index - $previousPosition;
    $positionDifferences[] = $diff;
    $index++;
    $previousPosition = $index;
}

现在$positionDifferences将保存一个数组,其中包含'x'的出现之间的所有差异。在此示例中:Array ( [0] => 0 [1] => 2 [2] => 2 [3] => 3 )