在会话中存储数据的最佳方式

时间:2014-05-18 09:46:56

标签: php session

我正考虑在会话中存储数据的两种方式:

$_SESSION['data'] = array(
    'a'=>'a',
    'b'=>'b',
    'c'=>'c'
);

$_SESSION['a'] = 'a';
$_SESSION['b'] = 'b';
$_SESSION['c'] = 'c';

哪一个更好,特别是当SESSION数据项的数量很大时?

1 个答案:

答案 0 :(得分:0)

这取决于您的设计和要求

选项1:会话内的数组

如果变量abc除了"会话"中的变量之外还有一些共同的含义,我会使用$_SESSION['data']来捕获它们一个常见的数组。通过这种方式,您可以传递此data数组并使用常用运算符。而且,如果您需要其他类似data2的内容,您可以使用会话。例如,如果商品引用购物车中的商品,那么我将它们全部放在一个公共数组中。

示例:

$_SESSION['cart_items'] = array(
  'a' => 1,
  'b' => 2,
  'c' => 5
);

选项2:直接使用会话数组

如果变量abc通常指的是您在会话中存储的任何内容,并且不会共享任何其他语义,那么只需将它们直接放在$_SESSION中。这些一次性项的示例包括:当前登录用户的用户名,活动用户上次加载页面的时间等。在这种情况下,添加额外的data数组可能只是无用的开销。 / p>

示例:

$_SESSION['user_id'] = 123;
$_SESSION['last_updated'] = date("Y-m-d H:i:s");