我有一个字符串。这是包含
-1--52--18-
我想获得此输出
$Var1 = "1"
$Var2 = "52"
$Var3 = "18"
变量的数量不固定(我可以在1和3之间取值)
它可以用PHP吗?
感谢
答案 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)
然后使用array_filter删除空条目,并使用array_values从零重新索引数组。
list($Var1, $Var2, $Var3) = array_values(array_filter(explode("-", "-1--52--18-")));