本帖最后由 aier520 于 2012-06-03 12:27:41 编辑

解决方案 »

  1.   

    两种方法:
    1、$str = "aa:1,bb:2,cc:3,dd:4";
    parse_str(preg_replace(array('/\w+/', '/:/','/,/'), array('"$0"','=','&'), $str), $ar);
    print_r($ar);Array
    (
        ["aa"] => "1"
        ["bb"] => "2"
        ["cc"] => "3"
        ["dd"] => "4"
    )2、$str = "aa:1,bb:2,cc:3,dd:4";
    $ar = json_decode('{' . preg_replace('/\w+/', '"$0"', $str) . '}', true);
    print_r($ar);Array
    (
        [aa] => 1
        [bb] => 2
        [cc] => 3
        [dd] => 4
    )extract 从数组中将变量导入到当前的符号表
    extract($ar);echo $aa; //1
    echo $bb; //2
    echo $cc; //3
    echo $dd; //4
      

  2.   

    本帖最后由 xuzuning 于 2012-06-03 13:20:50 编辑
      

  3.   

    添块砖
    $str = "aa:1,bb:2,cc:3,dd:4";
    preg_replace("#([\w]+):([\d]+)#e", "\$arr['\\1']=\\2\\2", $str);print_r($arr);
    /*
    Array
    (
        [aa] => 11
        [bb] => 22
        [cc] => 33
        [dd] => 44
    )*/
      

  4.   

    [User:root Time:14:14:44 Path:/home/liangdong/php]$ php arr.php 
    1
    2
    3
    4
    [User:root Time:14:14:45 Path:/home/liangdong/php]$ cat arr.php 
    <?php
    $str = "aa:1,bb:2,cc:3,dd:4";
    $arr = explode(',', $str);
    foreach ($arr as $val) {
            $fields = explode(':', $val);
            $key = trim($fields[0]);
            $val = trim($fields[1]);
            $res[$key] = $val;
    }
    extract($res);
    for ($ch = ord('a'); $ch <= ord('d'); ++ $ch) {
            $key = str_repeat(chr($ch), 2);
            echo $$key . PHP_EOL;
    }
    ?>