易截截图软件、单文件、免安装、纯绿色、仅160KB

多键值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 使用memcached 安装配置

 
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解疑
1. 代码重用方法include()和require()函数差异?
1) Require()函数
使用requier()包含外部php文件时,只要自身php文件被执行,外部文件的内容就将被包含进该自身php文件,当包含的外部文件发生错误时,系统将给出错误提示,并且停止php文件的执行。
示例:
调用文件config.inc的程序代码:
<?php  ec ......

php的发展及安装

PHP的发展
       PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号