php中将数组转成字符串并保存到数据库以及把从字符串数组转成数组(转载)

/**
* 将字符串转换为数组
*
* @param    string  $data   字符串
* @return   array   返回数组格式,如果,data为空,则返回空数组
*/ 
 function string2array($data) {  
    if($data == '') return array();  
    @eval("$array = $data;");  
    return $array;  
}  
 /**
* 将数组转换为字符串
*
* @param    array   $data       数组
* @param    bool    $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1
* @return   string  返回字符串,如果,data为空,则返回空
*/ 
function array2string($data, $isformdata = 1) {  
    if($data == '') return '';  
    if($isformdata) $data = new_stripslashes($data);  
    return addslashes(var_export($data, TRUE));  

//////////////////////////////////////////////////////////////////////////////////////////////////////////

下面对var_export函数进行讲解一下:

  (PHP 4 >= 4.2.0, PHP 5)

  var_export — 输出或返回一个变量的字符串表示  ( 变量导出)

  mixed var_export ( mixed $expression [, bool $return ] )

  此函数返回关于传递给该函数的变量的结构信息,它和var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。

  可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

 

  本例中,直接使用var_export()函数就可以打印出字符串,如果函数的第二个参数设置为TRUE,不会直接打印出字符串,而是将值传给一个变量,然后使用echo输出。

  <?php

  //第一种,参数没有设置为TRUE

  $a = array (1, 2, array ("a", "b", "c"));

  var_export ($a);

  /* 输出:

  array (

  0 => 1,

  1 => 2,

  2 =>

  array (

  0 => 'a',

  1 => 'b',

  2 => 'c',

  ),

  )

  */

  //第二种,参数设置为TRUE

  $v = var_export($a, TRUE);

  echo $v;

  // 输出的结果和上面是一样的

  ?>

========================================================================

原文地址:https://www.cnblogs.com/runong/p/3627644.html