怎样把字符串$str = 'aa_bb';转成数组array('aa'=>'bb')

解决方案 »

  1.   


    $str = 'aa_bb';
    $arr=explode('_',$str);
      

  2.   

    刚看错。
    $str='aa_bb';
    $arr=explode('_',$str);
    $r=array($arr[0]=>$arr[1]);
      

  3.   


    $str = 'return array(' .str_replace('_', '"=>"', '"' . $str . '"') . ');';
    $arrr = eval($str);
    print_r($arrr);
      

  4.   


    $str = 'aa_bb';
    $arr = explode('-', $str);
    $a[$arr[0]] = $arr[1];//print_r(array_combine($arr[0], $arr[1]));
    print_r($a);
      

  5.   

    $str = "aa_bb";
    $arr = explode("_",$str);
    print_r($arr);
    $arr1[$arr[0]] = $arr[1];
    print_r($arr1);
      

  6.   

    $str = 'aa_bb';
    $arr = explode('_', $str);
    $a[$arr[0]] = $arr[1];//print_r(array_combine($arr[0], $arr[1]));
    print_r($a);
      

  7.   

    再提供一种
    $str = 'aa_bb';
    preg_replace("/(\w+)_(\w+)/e", '$p[$1]="$2"', $str);
    print_r($p); //Array ( [aa] => bb )
      

  8.   

    http://www.cnblogs.com/funlake/archive/2010/07/15/1777898.html
      

  9.   

    大家真厉害!知道多种做法好啊,我觉得大多数人会选择explode切割的吧,顺便问一下,使用explode与正则哪个更快些呢?
      

  10.   

    法1:先分割字符串,然后形成数组
    法2:直接形成创建数组的字符串,然后eval