$str = "array(2) { [1] => array(6) { ["m_product_header_id"] => int(1) ["product_name"] => string(5) "test1" ["product_unitprice"] => int(3) ["product_point_rate"] => int(4) ["limit_nums"] => int(5) ["limit_times"] => int(6) } [2] => array(6) { ["m_product_header_id"] => int(2) ["product_name"] => string(5) "test2" ["product_unitprice"] => int(4) ["product_point_rate"] => int(5) ["limit_nums"] => int(6) ["limit_times"] => int(7) } } ";$test = array();现在需要将字符串$str转化到数组$test里面,形成一个2维数组。各位大侠帮忙!
解决方案 »
- 自动给图片加链接的 正则怎么写?
- 所有方法都用array参数,这样做在项目开发中有哪些弊端?
- 今天老大叫我改以前公司做的一个php项目的首页,没学过php,求指点
- 如何对一段PHP代码加密
- 验证码是图片,后台怎么验证用户输入的一致呢?
- 求助php中如何通过get方法传递带空格的字符串
- 关于php配置的问题,急
- windows 2003 下 php 的当前路径的问题。
- 【数组值的传递问题】
- 我把APACHE默认端口改为了8012,但是PHPMYADMIN运行时.......
- file_get_content的问题,内详
- pear install HTTP_Download-1.1.2.tar 出错了,请高人指点小弟
$str = "array(2) { [1] = > array(6) { ["m_product_header_id"] = > int(1) ["product_name"] = > string(5) "test1" ["product_unitprice"] = > int(3) ["product_point_rate"] = > int(4) ["limit_nums"] = > int(5) ["limit_times"] = > int(6) } [2] = > array(6) { ["m_product_header_id"] = > int(2) ["product_name"] = > string(5) "test2" ["product_unitprice"] = > int(4) ["product_point_rate"] = > int(5) ["limit_nums"] = > int(6) ["limit_times"] = > int(7) } } "; $reg = array(
'/array\((\d+)\)\s*/is',
'/\s=\s>\s/',
'/\[(["\w]+)\]/e',
'/int\((\d+)\)|string\((\d+)\)\s"(\w+)"/e'
);
$replace = array(
'a:\\1:',
'',
'key_repalce("\\1")',
'val_repalce("\\1", "\\2", "\\3")'
);function key_repalce($e) {
if(!$e) return; if(is_numeric($e)) {
return 'i:'.$e.';';
} elseif(is_string($e)) {
$e = str_replace('"', '', $e);
return 's:'.strlen($e).':"'.$e.'";';
}
}function val_repalce($e_int, $e_strlen, $e_str) {
if($e_int) {
return 'i:'.$e_int.';';
} elseif($e_strlen) {
return 's:'.$e_strlen.':"'.$e_str.'";';
}
}$serialize_str = str_replace(' ', '', preg_replace($reg, $replace, $str));print $serialize_str;
print "\n";
print_r(unserialize($serialize_str));
安全一点,也可以用
serialize 和 unserialize 实现 array <=> string 的转换