欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > thinkphp教程 >
thinkphp教程

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

(元素模板) / 2022-09-20 13:47

1.如何在ThinkPHP模板中操作session,session中是否保存了数组。

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

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

但是,如果user是一个数组,如何输出数组中指定的单元格(比如‘user _ id’)?您不能使用{$Think.session.user.user_id}或{ $ think . session . user[' user _ id ']}。
前者之所以错,是因为这个写法只支持了一点;
第二是不支持这种写法。解决方法是使用标签取出模板中数组的指定单元格,赋值,然后使用。

$ is _ advisor = session(' user . user _ id ');

就是这样。

其次,thinkphp模板输出cookie,即会话中的值

系统变量和特殊变量

 

系统变量:包括服务器、会话、post、get、请求和cookie

{ $ think . SERVER . script _ name }//Output $ _ SERVER变量

{ $ think . SESSION . SESSION _ id | MD5 }//Output $ _ SESSION变量

{ $ think . GET . page number }//Output $ _ GET变量

{$Think.cookie.name} //输出$_COOKIE变量

{$Think.version} //版本

{$Think.now} //现在时间

{$Think.template|basename} //模板页面

{ $认为。LDELIM} //模板标签开始符号

{ $认为。RDELIM} //模板标签的结束符号

 

系统变量和特殊变量(简明方式)

 

{@var} //输出会话变量相当于{$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来存储数组(会话应该是相同的)

如果要用cookie存储数组(会话应该也是这样),最好是序列化数组,也就是说要把数组或者类转换成一个长字符串,然后用的时候反序列化。这种方法广泛应用于购物车系统等。

php的具体功能是

Serialize()/*序列化*/

deserialize()/* unserialize()/*/

另外还有json技术,这是前台php和javascript之间数组通信的标准。当然,核心是序列化:

json_encode(),json_decode()

序列化后的数组通过AJAX传输到javascript前台,序列化后的数组可以直接赋给一个变量,在php中可以作为数组使用。</p>

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com