zoukankan      html  css  js  c++  java
  • thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法

    一、ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况

    在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—》系统变量”部分,在默认模板引擎中,语法如下:

    {$Think.session.user}    //输出session中保存的user信息

      但是,如果user是一个数组的话,该怎么输出数组中指定的单元(如'user_id')呢?用{$Think.session.user.user_id}或者{$Think.session.user['user_id']}是不行的。前者错误的原因是这种写法只支持一个点;第二种是不支持此种写法。解决办法是使用<php>标签在模板中取出数组的指定单元,赋值,然后再使用

        <php>$is_advisor = session('user.user_id');</php>
        <div <eq name='user_id' value="1">style="display:none;"</eq>>

    这样就可以了。

    二、thinkphp模板输出cookie,session中的值

    系统变量及特殊变量

    系统变量:包括server、session、post、get、request、cookie
    {$Think.server.script_name } // 输出$_SERVER变量
    {$Think.session.session_id|md5 } // 输出$_SESSION变量
    {$Think.get.pageNumber } // 输出$_GET变量
    {$Think.cookie.name } // 输出$_COOKIE变量

    {$Think.version } //版本
    {$Think.now } //现在时间
    {$Think.template|basename } //模板页面
    {$Think.LDELIM } //模板标签起始符号
    {$Think.RDELIM } //模板标签结束符号

    系统变量及特殊变量(简洁方式)

    {@var} //输出Session变量 和 {$Think.session.var} 等效
    {#var} //输出Cookie变量 和 {$Think.cookie.var} 等效
    {&var} //输出配置参数 和 {$Think.config.var} 等效
    {%var} //输出语言变量 和 {$Think.lang.var} 等效
    {.var} //输出GET变量 和 {$Think.get.var} 等效
    {^var} //输出POST变量 和{$Think.post.var} 等效
    {*var} //输出常量和 {$Think.const.var} 等效

    三、cookie来存数组(session应该也是一样的)

    如果想利用cookie来存数组(session应该也是一样的),最好将数组进行序列化(serialization),意思就是将数组或是类转换成一个长字符串,到用时在反序列化就可以了哦,这种方法广泛应用于购物车系统等等。
    具体到php的函数就是
    serialize()/*序列化*/
    unserialize()/*反序列化*/
    另外还有json技术,是用来让php与前台的javascript进行数组通信用的一个标准,当然核心也是序列化:
    json_encode(),json_decode()
    经其序列化的数组通过AJAX传到javascript前台,可直接将该序列化的数组赋给一个变量,该变量即可作为像php中的数组来使用了。

  • 相关阅读:
    原创:搜索算法之两个数组取交集的算法
    原创:中文分词的逆向最大匹配算法
    搜索推荐系统根据用户搜索频率(热搜)排序
    原创:Solr Wiki 中关于Suggester(搜索推荐)的简单解读
    从海量文本中统计出前k个频率最高的词语
    原创:从海量数据中查找出前k个最小或最大值的算法(java)
    NOIWC2019 懵逼记
    BZOJ 4568: [Scoi2016]幸运数字(倍增+线性基)
    BZOJ 3207: 花神的嘲讽计划Ⅰ(莫队+哈希)
    BZOJ 3653: 谈笑风生(主席树)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8891950.html
Copyright © 2011-2022 走看看