从字符串php中提取值

时间:2018-05-06 15:01:20

标签: php extract

我有一个字符串。这是包含

-1--52--18-

我想获得此输出

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

变量的数量不固定(我可以在1和3之间取值)
它可以用PHP吗? 感谢

2 个答案:

答案 0 :(得分:1)

使用数组执行此任务。特别是,如果你不知道你需要多少变量。

$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;

答案 1 :(得分:0)

其中一种方法可能是使用listexplode

然后使用array_filter删除空条目,并使用array_values从零重新索引数组。

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

Demo