2013-03-01 85 views
0

我遇到麻烦执行我的if语句php if语句null和0?

如果($父== $页面级>母公司)

我的美元$父= null,并且我的$页面级>父= 0我如何解决这个问题,他们是平等的?

我认为这是与它不知道空的事实问题是等于0

$page = Page::find($id); 
$parent = Input::get('parent'); // Null 

我希望你们能帮助我,我必须想出解决办法

这里是我的控制器以防万一你wan't来看看它

public function updateMenu($id) 
{ 
    $page = Page::find($id); 
    $parent = Input::get('parent'); 
    $new_order = Input::get('index'); 

    if($parent == $page->parent) 
    { 
     if($page->order_id > $new_order) 
     { 
      DB::table('pages') 
       ->where('parent',$parent) 
       ->where('order_id', '<', $page->order_id) 
       ->increment('order_id'); 
     } 
     else 
     { 
      DB::table('pages') 
       ->where('parent',$parent) 
       ->where('order_id', '>=', $page->order_id) 
       ->decrement('order_id'); 
     } 
    } 
    else 
    { 

      DB::table('pages') 
       ->where('parent',$parent) 
       ->where('order_id', '>=', $new_order) 
       ->increment('order_id'); 

    } 



    $page->order_id = Input::get('index'); 
    $page->parent = Input::get('parent'); 

    $page->save(); 

    return $id; 
} 
+0

嘛'空== 0'计算结果为TRUE;和'空=== 0'计算结果为'FALSE',但我真的不确定你在问什么。 – leftclickben 2013-03-01 09:03:18

+1

请提供两个变量的'var_dump'。 – Tchoupi 2013-03-01 09:04:18

+0

如果我的var_dump没有任何反应 – user1994529 2013-03-01 09:11:32

回答

0

使用全等运算符:===代替==

localhost> = 0 === null 
false 
localhost> = 0 == null 
true 
+0

已经尝试过啊===,但它不工作 – user1994529 2013-03-01 09:04:09

+0

我会给予好评,因为你写什么,我会写,有一个'眨眼“你的姓氏。 – Karma 2013-03-01 09:04:26

1

我不认为可以等于NULL。也许if($parent == $page->parent || ($parent == null && $page->parent == 0))更有帮助

0

您可以使用:

if(is_null($parent) && ($page->parent==0)) 
{ 

}