Denisov80
@Denisov80
Юный Программист

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

Имеется несколько переменных с именами
$str_123 = 'один два три';
$str_578 = 'пять семь восемь';
$str_015 = 'ноль один пять';

Название по такому принципу: "$str_" + "три цифры",
так-же имеется рандомная строка содержащая только цифры совпадающие с одной из имён переменных.

Цифровые значения из строки вытягиваю с помощью поиска по Регулярному выражению, как далее использовать эти полученные цифры как имя переменной?
Например регуляркой вытащил "578" в переменную $digit, как на их основе использовать переменную $str_578

Типа такого:
if(isset("$str_".$digit)){
   echo "$str_".$digit;     // пять семь восемь
}
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для этого есть массивы
$strs = [
    '123' => 'один два три',
    '578' => 'пять семь восемь',
    '015' => 'ноль один пять',
];
if (array_key_exists($digit, $strs)) {
    echo $strs[$digit];
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zmrzjke
@zmrzjke
Можешь заюзать фигурные скобки

echo ${'str_' . $digit};
Ответ написан
@grek_cheburek
Программист самоучка
Имена переменной можно задавать через $$.
К примеру
$str = "str555";
$$str = "hello";
echo $str555; // выводит hello
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы