多键值cookie(php中cookie存取数组)
cookie默认不能存数组,所以下面的写法是错误的。
<?php
$arr = array(1,2,3);
setcookie('a',$arr);
$arr = array(1,2,3);
setcookie('a',$arr);
?>
报错如下:
Warning: setcookie() expects parameter 2 to be string, array given in
但是PHP可以把同名且后面以[]结尾的cookie解析为数组。在php里面实现cookie存数组的方法如下:
方法一:先用serialize序列化数组,再存入COOKIE ,读出来时用unserialize得到原来的数组
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
方法二:设定多键值cookie,注意必须给键值
$arr = array(1,2,3);
setcookie("a[0]", $arr[0]);
setcookie("a[1]", $arr[1]);
setcookie("a[2]", $arr[2]);
$arr = array(1,2,3);
setcookie("a[0]", $arr[0]);
setcookie("a[1]", $arr[1]);
setcookie("a[2]", $arr[2]);
结果:数组所有元素都存到了。
数组长度 :3
Array ( [0] => 1 [1] => 2 [2] => 3 )
以下写法是错误的:
$arr = array(1,2,3);
setcookie("a[]", $arr[0]);
setcookie("a[]", $arr[1]);
setcookie("a[]", $arr[2]);
$arr = array(1,2,3);
setcookie("a[]", $arr[0]);
setcookie("a[]", $arr[1]);
setcookie("a[]", $arr[2]);
结果:只存了最后一个元素
数组长度 :1
Array ( [0] => 3 )
相关文档:
基于PHP的网上商城管理信息系统分析与设计
一、 (背景介绍)选题依据及价值:
2008年下半年,全球性的金融危机爆发,蔓延至各个产业及领域,这次经济的大萧条让我看到的是机遇,中国在这次经济危机中显示了不凡的实力与发展潜力,当企业面临困境的时候,最先想到的是如何缩减商业成本,比如裁员降薪,随着网络 ......
1、安装libeven
memcached的使用需要libeven的支持,我们得先装上libeven。
官方网站:http://www.monkey.org/~provos/libevent/
libevent安装方式比较简单:
./configure && make
make install
检查是否 已经安装
ls -l /usr/local/lib/ | grep even
2、安装memcached
官方网站:http://ww ......
采集已经不是什么新名词了,很多站长为了省事,也局限于人力的缺乏,使用程序来给自己
的网站添砖加瓦,比如本人的个人网站西西弗斯网也采集了大量的新闻,那么如果实现呢?今天我们运用php来实现这个功能.
谈到采集,我们不得不说两个东西,第一个是如何获取远程网站的源代码,这个可以通过php的一个扩 ......
PHP的发展
PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP ......