有选择表格的帖子,如:
<select name="option[color][0]">
<select name="option[color][1]">
// option[color][2] isnt posted
有些产品没有那个选择,然后当我尝试从帖子中获取它们时,每次如果没有发布选择,我会得到如下错误:
未定义的偏移量:2
如何检查是否有帖子? 尝试:
$ids = $_POST['id'];
$option = $_POST['option'];
foreach ($ids as $key => $id)
{
//Undefined offset: 2
if( $option['color'][$key] )
{
$_SESSION[$key]['option']['color'] = $option['color'][$key];
}
//Undefined offset: 2
if( !empty($option['color'][$key]) )
{
$_SESSION[$key]['option']['color'] = $option['color'][$key];
}
//Undefined offset: 2
if( isset($option['color'][$key]) )
{
$_SESSION[$key]['option']['color'] = $option['color'][$key];
}
//... etc
}
等...我试过什么,有错误:( 请帮忙
答案 0 :(得分:2)
尝试array_key_exists查看是否存在。
答案 1 :(得分:1)
如果始终为0,1,2或任何连续整数行,则可以if(count($option['color']) > $key ){}
答案 2 :(得分:1)
isset($option['color'][$key])
是要走的路。
使用isset()
检查错误发生的确切代码行。
答案 3 :(得分:0)
if( isset($option['color'][$key]) )
{
$_SESSION[$key]['option']['color'] = $option['color'][$key];
}
答案 4 :(得分:0)
使用isset
或empty
。
例如:
if (isset($array['idx'])){ ... }
if (!empty($array['idx'])){ ... }