@P747

Запись условия if в переменную?

Добрый день, есть ли способ выполнить условие if из переменной?

Пример:

$if = '0.5 < 0.6';

if ($if) {
    echo 'YES';
} else {
    echo 'NO';
}


Чтобы было аналогично:

if (0.5 < 0.6) {
    echo 'YES';
} else {
    echo 'NO';
}
  • Вопрос задан
  • 1301 просмотр
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Возможно Вам хватит этого

$if = (0.5 < 0.6); //true
if ($if) {
    echo 'YES';
} else {
    echo 'NO';
}


Внимание, прежде чем использовать eval() в своём коде внимательно изучите документацию по этой функции https://www.php.net/manual/ru/function.eval.php

Особенно обратите внимание на это предупреждение
Предостережение
Языковая конструкция eval() может быть очень опасной, поскольку позволяет выполнить произвольный код. Использование данной функции не рекомендуется. Если вы полностью убеждены, что нет другого способа, кроме использования этой конструкции, обратите особое внимание на то, чтобы не передавать какие-либо данные, предоставленые пользователем, без предварительной проверки.

Автор данного ответа не несёт ответственности за простреленные ноги.

Через eval()
<?php
$if = eval('return 0.5 < 0.6;');
var_dump($if); //true

eval('$if = 0.5 < 0.6;');
var_dump($if); //true
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Nc_Soft
Этой наркоманией занимается https://www.php.net/manual/ru/function.eval.php
Ответ написан
Minifets
@Minifets
Hello world!!!
Если есть время, то можно написать свой интерпретатор. По ссылке есть примеры для php.

Есть кое-что уже готовое. symfony/expression-language
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы