为什么我这样定义$post[$modelField]判断时候会报错?

我想写一个编辑和新增的公共方法 然后主键键名不固定 所以我先查询出表的键值 然后赋值给这个变量键名 打印输出可正常 但一判断他就报错

$modelField = Db::getTableInfo($model::getTable(),'pk');
if($post[$modelField]){
    
}
报错信息:Illegal offset type in isset or empty
阅读 1.9k
2 个回答

你用的PHP哪个版本?如果开启了E_ALL,去判断一个不存在的变量会报错。所以你需要isset函数

$modelField = Db::getTableInfo($model::getTable(),'pk');
if(isset($post[$modelField])){

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题