session是可以存储数组和对象的,但是不可用存储souce只能这样做。 mysql_select_db("test",$con); $result=mysql_query("select * from user "); $_SESSION["result"]=$result; $arr= array(); while($row = mysql_fetch_row($result)) { $arr[] =$row; } $_SESSION["rows"]=$arr; 以下来自php5手册Warning 有些类型的数据不能被序列化因此也就不能保存在会话中。包括 resource 变量或者有循环引用的对象(即某对象将一个指向自己的引用传递给另一个对象)。
如果想利用cookie来存数组(session应该也是一样的),最好将数组进行序列化(serialization),意思就是将数组或是类转换成一个长字符串,到用时在反序列化就可以了哦,这种方法广泛应用于购物车系统等等。具体到php的函数就是serialize()/*序列化*/unserialize()/*反序列化*/另外还有json技术,是用来让php与前台的javascript进行数组通信用的一个标准,当然核心也是序列化:json_encode(),json_decode()经其序列化的数组通过AJAX传到javascript前台,可直接将该序列化的数组赋给一个变量,该变量即可作为像php中的数组来使用了。
session 数据跟浏览器的进程有关lz可以输出print_r($_SESSION); 调试一下更多关于session的数据可以参考这篇文章php session 的分析http://www.stylejar.com/2009/05/php-cookie%E5%92%8Csession%E7%9A%84%E5%88%86%E6%9E%90-2/