我在执行if语句时遇到问题
if($ parent == $ page-> parent)
我的美元$ parent = null和我的$ page-> parent = 0如何解决这个问题,他们是平等的?
我认为这是一个问题,因为它不知道null等于0
$page = Page::find($id);
$parent = Input::get('parent'); // Null
我希望你们能帮我解决这个问题
这是我的控制器以防万一你不想看看它
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 :(得分:1)
我认为 0 可以等于 NULL 。也许if($parent == $page->parent || ($parent == null && $page->parent == 0))
更有帮助
答案 1 :(得分:0)
使用严格相等运算符:===而不是==
localhost> = 0 === null
false
localhost> = 0 == null
true
答案 2 :(得分:0)
您可以使用:
if(is_null($parent) && ($page->parent==0))
{
}