PHP逻辑如果声明

Art*_*hur 0 php logic

我有这个代码:

$distance= -1 ;//default
//distance calc
if($dgalaxy = $galaxy){
    if(($dx = $x) && ($dy = $y))
    {
            //inter planitary currently unknown formula
    }else{
            $distance = round(Sqrt(pow(($dx-$x),2)+pow(($dy-$y),2)));//interstllar
    }
}else{//intergalatic
    if ($galaxy < $dgalaxy){
            $distance = (((9-fmod($galaxy,10))*200)+2000+(fmod($dgalaxy,10)*200));//anti clockwise galactic
    }else{
            $distance = (((fmod($galaxy,10))*200)+2000+(fmod(9-$dgalaxy,10)*200));//clockwise galactic
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该为每个计算返回一个值,除了行星间条款.对于星际(当($ dgalaxy = $ galaxy)和x,y坐标不同时)这运行星际公式,这很好.

但是,当$ dgalaxy!= $ galaxy时,它返回-1,这意味着它没有运行任何一个银河距离计算!

我做错了什么,我该如何解决?

Que*_*tin 14

$dgalaxy = $galaxy是一项任务而非比较.使用==.

在其他地方同上.