如果声明似乎无法正常工作

luc*_*axi 0 php

我可能做错了但是偷看了.如果我对逻辑进行硬编码,它会起作用,但如果我尝试将其用作变量则不行.

if($range <= 50) {
    $operator = "<=";
} else {
    $operator = ">=";
}

foreach($cursor as $s) {
    $data = round($this->distance($zip_lat, $zip_lon, $s["lat"],$s["lon"]), 2);

    if ($data .$operator. $range) {
        $zipcodes[] = "$s[zipcode]";   
    }
}               
Run Code Online (Sandbox Code Playgroud)

我的意思是,我可以在foreach中添加if/else,但不确定它是否会增加任何"开销".

jsp*_*cal 5

尝试:

if ($range <= 50 ? $data <= $range : $data >= $range) {

}
Run Code Online (Sandbox Code Playgroud)

或者使用eval()