Извлечь значение из строки php - PullRequest
0 голосов
/ 06 мая 2018

У меня есть одна строка. Это содержит

-1--52--18-

Я хочу получить этот вывод

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

Номер переменной не является фиксированным (я могу иметь значения от 1 до 3)
Это возможно в PHP?
Спасибо

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Одним из способов сделать это может быть использование списка и взрыва :

Затем используйте array_filter , чтобы удалить пустые записи, и используйте array_values ​​, чтобы переиндексировать массив с нуля.

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

Демо

0 голосов
/ 06 мая 2018

Использовать массив для этой задачи. Особенно, если вы не знаете, сколько варов вам нужно.

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