PHP if语句为null
我的控制器中有以下PHP if语句为null,php,Php,我的控制器中有以下if语句: if($parent == $page->parent) public function updateMenu($id) { $page = Page::find($id); $parent = Input::get('parent'); $new_order = Input::get('index'); if($parent == $page->parent) { if
if
语句:
if($parent == $page->parent)
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',$page->parent)
->where('order_id', '>', $page->order_id)
->decrement('order_id');
}
$page->order_id = Input::get('index');
$page->parent = Input::get('parent');
$page->save();
return $id;
}
其中$parent==null
有时,当$parent
是例如16
时,它执行我的if语句,但只有当它为null时,它才不执行它。我做错了什么
这是我的控制器:
if($parent == $page->parent)
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',$page->parent)
->where('order_id', '>', $page->order_id)
->decrement('order_id');
}
$page->order_id = Input::get('index');
$page->parent = Input::get('parent');
$page->save();
return $id;
}
公共函数更新单元($id)
{
$page=page::find($id);
$parent=Input::get('parent');
$new_order=Input::get('index');
如果($parent==$page->parent)
{
如果($page->order\u id>$new\u order)
{
DB::表('页面')
->其中('parent',$parent)
->其中('order\u id','=',$page->order\u id)
->减量('order_id');
}
}
其他的
{
DB::表('页面')
->其中('parent',$page->parent)
->其中('order\u id','>',$page->order\u id)
->减量('order_id');
}
$page->order_id=Input::get('index');
$page->parent=Input::get('parent');
$page->save();
返回$id;
}
我正在制作一个可排序的列表,有人能看到问题吗?如果($parent==$page->parent)返回true或false,像这样的语句
。因此,如果它的值是null
,它将转到的else
语句。检查$parent
&$page->parent
是否为null?如果$page->parent==16
和$parent==null
您的if
语句将进行比较:null==16
这肯定是false
。我通过了使用ajax创建新的父级,因此如果父级保持不变$parent=null,然后在我的数据库中检查它的当前父级,结果是$page->parent=0,但null==0不执行,而不是$parent=16和当前父级$page->parent=16,16=16执行