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

Как использовать переменную `$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()` может быть опасным, так как она выполняет переданный ей код. Будьте осторожны при использовании данной функции.
Для этого есть массивы <br/> <pre><code class="php">$strs = [
    '123' =&gt; 'один два три',
    '578' =&gt; 'пять семь восемь',
    '015' =&gt; 'ноль один пять',
];
if (array_key_exists($digit, $strs)) {
    echo $strs[$digit];
}</code></pre>
<pre><code class="php">$variableName = 'str_'.$digit;
echo $$variableName;</code></pre>
Имена переменной можно задавать через $$. <br/> К примеру <br/> <pre><code class="php">$str = "str555";
$$str = "hello";
echo $str555; // выводит hello</code></pre>
Похожие вопросы