博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp中cookie和session中操作数组的方法
阅读量:7002 次
发布时间:2019-06-27

本文共 1519 字,大约阅读时间需要 5 分钟。

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>标签在模板中取出数组的指定单元,赋值,然后再使用

$is_advisor = session('user.user_id');
style="display:none;"
>

这样就可以了。

 

 

二、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进行数组通信用的一个标准,当然核心也是序列化:
(),()
经其序列化的数组通过AJAX传到javascript前台,可直接将该序列化的数组赋给一个变量,该变量即可作为像php中的数组来使用了。

 

转载地址:http://qwrvl.baihongyu.com/

你可能感兴趣的文章
[Android Pro] Android P版本 新功能介绍和兼容性处理(三)Android Studio 3.0 ~ 3.2 其他特性...
查看>>
QT中显示gif图片方法
查看>>
工程投诉过程中各建设主管理部门联系人表
查看>>
一起谈.NET技术,关于Expression Tree和IL Emit的所谓的&quot;性能差别&quot;
查看>>
CGI, mod_perl, PHP, JSP性能比较
查看>>
史上最全面的面试资料(包含所有IT大公司)
查看>>
密码库 链接
查看>>
ZOJ 3505. Yet Another Set of Numbers 解题报告
查看>>
mysql innodb_double_write特性
查看>>
利用光纤磁盘阵列实现存储共享(转)
查看>>
【读书笔记-数据挖掘概念与技术】分类:高级方法
查看>>
ED/EP系列1《简单介绍》
查看>>
oratop 各个指标项说明
查看>>
Android 手势识别类 ( 一 ) GestureDetector 基本介绍
查看>>
安装scapy遇到的问题
查看>>
Appium 一个测试套件多次启动android应用
查看>>
[CareerCup] 17.9 Word Frequency in a Book 书中单词频率
查看>>
【Unity】第9章 粒子系统
查看>>
java中Double的isInfinite()和isNaN()
查看>>
(转) 堆和栈的区别
查看>>