簡體   English   中英

如何動態傳遞if語句的條件

[英]How to dynamically pass condition of if statement

我處於一個比較變量中的情況,我想在IF中使用該變量

$xyz = '$abc<200'; // Dummy Dynamic Text

if($xyz) { // It should execute like if($abc<200)
    echo 'you are dynamic';
}

在上面的示例中,比較字符串動態地放在$ xyz變量中,並且我想將該變量放入if條件中,該怎么做?

您不能使用引號,因為它會使字符串變得不正確。 這樣做:

$xyz=($abc<200); //or, as well, $xyz=$abc<200
if($xyz) { 
    echo 'you are dynamic'; 
}

但是,如果要將條件文本保留在字符串中,則可以使用eval:

$xyz='$abc<200';
if(eval("return $xyz;")) { 
    echo 'you are dynamic'; 
}

評估有時被禁用。 這是出於安全原因。 經常與suhosin一起使用。 評估可能是邪惡的! 考慮一下代碼注入。

您可以嘗試使用匿名函數。

<?php

$func = function($abc) {
  return $abc<200;
};


if ($func($abc)) {
   // great
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM