Преобразование строки в выражение

266
09 октября 2017, 01:21

Как преобразовать строку в выражение?

$a = "$c.$b"; // string
$c = "мама";
$b = "папа";
// функция, преобразующая строку в выражение, либо регулярное выражение
echo $a; // выводим "мамапапа";
Answer 1

Можно через переменные переменных. Надо будет только в строке $a убрать у переменных доллары

$a = 'c.b'; 
$c = "мама";
$b = "папа";
$temp = explode('.', $a);
foreach ($temp as $item) {
    echo $$item;
}
Answer 2

Автор, если вы хотите получить в ответ строку мамапапа, то достаточно провести конкатенацию строк

$c = "мама";
$b = "папа";
$a = $c . $b;
echo $a; // выводим "мамапапа";

или так

$c = "мама";
$b = "папа";
$a = "$c$b";
echo $a; // выводим "мамапапа";

Если же вы действительно хотите вычислить выражение из строки, то строку следует составить в соответствии с синтаксисом php:

$a = '$a = $c . $b;'; // string
$c = "мама";
$b = "папа";
// выполняем строку как код php
eval($a);
echo $a; // выводим "мамапапа";

Но использование функции eval() не рекомендуется из-за возможных проблем с безопасностью выполнения кода.

Answer 3
echo eval($a);

Такой вариант не пойдёт?

ссылка

READ ALSO
Как из формы брать данные для FindOne Yii2

Как из формы брать данные для FindOne Yii2

вот контроллер, как из формы взять id который будет в FindOne() на подобии FindOne($model->id)

323
Помогите получить ссылку на поток аудио вк

Помогите получить ссылку на поток аудио вк

Всем привет, помогите пожалуйста получить ссылку на аудио! апи закрыто, как я понял, вк шифрует ссылки

272
Теряются данные при передаче через POST

Теряются данные при передаче через POST

Передаю данные из adminpanelphp в auth

302
Как разрешить использование некоторых html-тегов

Как разрешить использование некоторых html-тегов

Я хочу разрешить использование тегов: <b>, <i>, <kbd> и тд

263