Как извлечь имя переменной из строки?

Как использовать переменную `$str_XXX`, где `XXX` - цифры из строки, которые были извлечены с помощью регулярного выражения, например, "578"?
  • 15 июня 2024 г. 22:21
Ответы на вопрос 4
Для извлечения имени переменной из строки, содержащей номер, можно воспользоваться функцией `eval()`. 

Например, если в строке содержится номер "578", вы можете использовать следующий код для получения значения переменной `$str_578`:

```php
$number = "578"; 
$variableName = "str_" . $number; 
$value = eval("return \$" . $variableName . ";"); 

echo $value;
```

Однако, использование функции `eval()` может быть опасным, так как она выполняет переданный ей код. Будьте осторожны при использовании данной функции.
Для этого есть массивы 
$strs = [
    '123' => 'один два три',
    '578' => 'пять семь восемь',
    '015' => 'ноль один пять',
];
if (array_key_exists($digit, $strs)) {
    echo $strs[$digit];
}
$variableName = 'str_'.$digit;
echo $$variableName;
Имена переменной можно задавать через $$. 
К примеру
$str = "str555";
$$str = "hello";
echo $str555; // выводит hello
Похожие вопросы