从字符串 php 中提取值

Extract value from string php

我有一根绳子。这是包含

-1--52--18-

我想要得到这个输出

$Var1 = "1"
$Var2 = "52"
$Var3 = "18"

变量个数不固定(我可以在1和3之间取值)
可以在 PHP ?
谢谢

为此任务使用数组。特别是,如果您不知道需要多少个变量。

$data = '-1--52--18-';
$vars = array_filter(explode('-', $data));

在数组中包含所有内容后,您可以使用循环遍历值或 count/isset 检查值是否存在。

foreach ($vars as $var) {
    echo $var . "\n";
}

if (isset($var[0])) {
    // do sth. with var[0] = 1
}

如果您在 var0 到 var3 中需要它们,您可以使用 list

list($var0, $var1, $var2) = array_filter(explode('-', $data));

或者如果你出于什么原因想要动态地...

foreach ($vars as $index => $var) {
    ${"var" . $index} = $var;
}

echo $var0;

其中一种方法是使用 list and explode:

然后使用array_filter to remove the empty entries and use array_values从零重新索引数组。

list($Var1, $Var2, $Var3) = array_values(array_filter(explode("-", "-1--52--18-")));

Demo