htmlspecialchars()期望参数1是字符串,对象在COdeIgniter中给出错误 [英] htmlspecialchars() expects parameter 1 to be string, object given error in COdeIgniter
本文介绍了htmlspecialchars()期望参数1是字符串,对象在COdeIgniter中给出错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
将类型转换数组分配给codeigniter的会话时,会出现以下错误:
When assigning a type casted array to codeigniter's session, I get this error:
A PHP Error was encountered
Severity: Warning
Message: htmlspecialchars() expects parameter 1 to be string, object given
Filename: libraries/Profiler.php
Line Number: 514
有问题的代码:
$guest = array('email' => 'empty', 'username' => 'Guest');
$this->session->set_userdata(array('current_user' => (object)$guest));
推荐答案
CodeIgniter分析器会在您存储任何非 - 在其会话中列出非字符串:
The CodeIgniter profiler breaks as soon as you store any non-array non-strings in its session:
foreach ($this->CI->session->all_userdata() as $key => $val)
{
if (is_array($val))
{
$val = print_r($val, TRUE);
}
$output .= "<...>".htmlspecialchars($val)."<...>\n";
}
(从 CI_Profiler :: _ compile_session_data code>)
(from CI_Profiler::_compile_session_data()
)
这看起来像一个很愚蠢的事情,因为 print_r()
因此 is_array($ val)|| is_object($ val)
会更合适。
This looks like a pretty stupid thing since print_r()
works fine with objects - so is_array($val) || is_object($val)
would be more appropriate.
这篇关于htmlspecialchars()期望参数1是字符串,对象在COdeIgniter中给出错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文