日期:2014-05-17  浏览次数:20560 次

如何让字符串和数组相互转换
一个字符串如下:
{1:"11",2:"22",3:"33",4:"44",7:"77"}
想把以上字符串转换为这样的数组

array (
1 => '11',
2 => '22',
3 => '33',
4 => '44',
7 => '77',
)

就是1 2 3 4 7 这几个作为数组的索引 11 22 33 44 77 这几个作为数组的值 可以通过 $arr[2] 这样访问相对应的值

当对数组的值做了一些操作后 数组又变成了

array (
1 => '18',
2 => '20',
3 => '33',
4 => '44',
6 => '66',
7 => '77',
18 => '76',
)


这时又怎么把这个数组转换为这样的字符串:
{1:"18",2:"20",3:"33",4:"44",6:"66",7:"77",18:"76"}


------解决方案--------------------
PHP code
$s = '{1:"11",2:"22",3:"33",4:"44",7:"77"}';
$s = preg_replace('/"?(\w+)"?/e', '"\"".trim("$1","\"")."\""', $s);
print_r(json_decode($s, 1));