php – 如何将Zend Framework getResultRowObject转换为数组
发布时间:2020-12-13 17:42:06 所属栏目:PHP教程 来源:网络整理
导读:public function loginAction() { $auth = Zend_Auth::getInstance(); $DB = Zend_Db_Table_Abstract::getDefaultAdapter(); $request=$this-getRequest(); $authAdapter = new Zend_Auth_Adapter_DbTable($DB); $authAdapter-setTableName('user') -setIden
public function loginAction() { $auth = Zend_Auth::getInstance(); $DB = Zend_Db_Table_Abstract::getDefaultAdapter(); $request=$this->getRequest(); $authAdapter = new Zend_Auth_Adapter_DbTable($DB); $authAdapter->setTableName('user') ->setIdentityColumn('uname') ->setCredentialColumn('password'); $uname = $request->getParam('uname'); $pass = $request->getParam('password'); $authAdapter->setIdentity($uname); $authAdapter->setCredential($pass); $result = $authAdapter->authenticate($authAdapter); $this->view->assign('auth',$result); if($result->isValid()) { $data = $authAdapter->getResultRowObject(null,'pass'); $auth->getStorage()->write($data); //$this->view->assign('dbdata',$data); $userInfo = new Zend_Session_Namespace('userInfo'); $userInfo->userType = 'admin'; //$this->_redirect('/admin/adminhome'); } else { $this->_redirect('/admin/index?fail=true'); } $data = $authAdapter->getResultRowObject(null,'pass'); 这里$data将返回一个这样的对象: stdClass Object ( [id] => 12 [uname] => user [password] => user [type] => user ) 我想将其转换为数组.刚尝试过Array()函数但是徒劳无功.我的要求是检查用户类型如下: if($data['type']=='admin'){ do something } else { do something } 谢谢 解决方法
要回答您的问题,请使用:
$data = $authAdapter->getResultRowObject(null,'pass'); $anArray = (array) $data; 或者更简单: $data = (array) $authAdapter->getResultRowObject(null,'pass'); 但是您不需要转换为数组.只需直接使用该对象: $data = $authAdapter->getResultRowObject(null,'pass'); if($data->type=='admin'){ do something } else{ do something } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |