Задать вопрос
@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';
}
  • Вопрос задан
  • 1355 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽