htmlspecialchars()期望参数1是字符串,对象在COdeIgniter中给出错误 [英] htmlspecialchars() expects parameter 1 to be string, object given error in COdeIgniter

查看:2225
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆