我可以在PHP变量上使用序列化吗?

时间:2013-08-01 19:22:54

标签: php serialization

这是对的吗?

$date_range = serialize($test_pack_type_id);

如果是,那么这有什么用?

if($key == 1) 
              $date_range = array('from_date'=>$form_data['registered_users_from_date'], 'to_date'=>$form_data['registered_users_to_date']);
            else if($key == 2) 
              $date_range = array('from_date'=>$form_data['logged_in_users_from_date'], 'to_date'=>$form_data['logged_in_users_to_date']);
            else if($key == 3) 
              $date_range = array('from_date'=>$form_data['not_logged_in_users_from_date'], 'to_date'=>$form_data['not_logged_in_users_to_date']);
            else if($key == 3)
              $date_range = $test_pack_type_id;

实际上所有的数组都是我分配给$date_range变量的数组。但是最后一个变量,即$test_pack_id是一个简单的变量。我想将这些文件插入数据库。

3 个答案:

答案 0 :(得分:2)

您似乎将包含元素from_dateto_date的数组打包到一个数据库列中。

虽然serialize()是一种可行的方法,但从数据库架构的角度来看,它并不是很好。您确定在查询中永远不需要from_date和to_date吗?因为对于数据库中的任何类型的合理使用,每个值肯定应该有两个单独的列。这也有助于任何类型的过滤/排序。

答案 1 :(得分:1)

serialize用于将任何复杂的数据结构转换为字符串,因此可以存储在文件,数据库,cookie等中,也可以通过网络传输。

答案 2 :(得分:0)

serialize()可用于任何类型(资源除外)。 序列化的目的通常是能够保存它(持久性)。