[英]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.