易截截图软件、单文件、免安装、纯绿色、仅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中的实现。此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论。
插件
,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候
激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影 ......

php代码优化

 下面这一小段“劣质”的PHP代码是一道简化了的测试题。这种问题就像在问:你该怎样优化这段代码?
<?
echo(”<p>Search results for query: ” .
    $_GET['query'] . “.</p>”);
?>
  这段代码的主要问题在于它把用户提交的数据直接显示到 ......

[PHP] 从 json_encode 到 ajax_encode

PHP 5.2 及以上版本提供了 json_encode 和 json_decode 函数,相当好用。
而之前的版本则需要下载网友们自行开发的库(有兴趣的可以看下 http://code.itlearner.com/php/JSON-class.html )
可以参考如下这个方法来在低版本上扩充这两个函数:
if (!function_exists('json_encode') && !function_exists('j ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号