Если условия внутри переменной php - PullRequest
1 голос
/ 08 марта 2020

Я уже просматривал существующие вопросы, но ничто не было близко к моей ситуации.

Я хотел бы express условие внутри переменной. Проблема заключается в том, что если я использую:

if($condition) {

, то это правда, если $ condition имеет значение, тогда как я хотел бы сделать его истинным, если содержимое переменной равно true:

$condition = “$a < 3”;
if($condition) {

Идея состоит в том, что я сохраняю условия в базе данных и использую их внутри while () в соответствии с ситуацией. Я не знаю, было ли мне ясно, извините, если я не был.

Надеюсь, у вас есть вопрос, и спасибо заранее!

Ответы [ 2 ]

2 голосов
/ 08 марта 2020

Кажется, вы ищете php eval https://www.php.net/manual/en/function.eval.php

$test = 'return $a < 3;';
$test2 = 'return $a < 1;';

$a = 2;

if (eval($test)) {
    echo 'a < 3 ';
} else {
    echo 'a > 3 ';
}


if (eval($test2)) {
    echo 'a < 1 ';
} else {
    echo 'a > 1 ';
}

отпечатки a < 3 a > 1

Будьте осторожны, поскольку $test = "return $a < 3;"; не скомпилируется поскольку переменная $ a не определена в этой точке, поэтому следует использовать одинарные кавычки, чтобы ее содержимое не интерпретировалось.

0 голосов
/ 08 марта 2020

$ условие = '$ _POST [' abc '] == «xyz»'; В этой строке вы используете одну кавычку, которая сделает строку $condition = $_POST[‘abc’] == “xyz";. Это вернет логическое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...