/**
* 将字符串转换为数组
*
* @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;
// 输出的结果和上面是一样的
?>
========================================================================