字符串如下:m_List[0][0] = new Array(0,14414,"两级人民代表大会选举实施","","2007.03.28","1980.07.10","01","",0,0);m_List[0][1] = new Array(1,17899,"会关于修改的决定","","2007.03.28","2007.03.28","01","",0,0);m_List[0][2] = new Array(2,16923861,"人民代表大会代表程序的规定","","2007.03.28","2007.03.28","01","",0,0);
......
m_List[0][345] = new Array(2,167896,"人民代表大会","","2007.03.28","2007.03.28","01","",0,0);
我想得到上面每条记录的所有字段值(例如第一条中的:0、14414、两级人民代表大会选举实施。),并把这些值插入到数据库中,我应该怎么拆分这么字符串?大家帮忙谢谢!

解决方案 »

  1.   

    m_List[0][0] = new Array(0,14414,"两级人民代表大会选举实施","","2007.03.28","1980.07.10","01","",0,0);m_List[0][1] = new Array(1,17899,"会关于修改的决定","","2007.03.28","2007.03.28","01","",0,0);m_List[0][2] = new Array(2,16923861,"人民代表大会代表程序的规定","","2007.03.28","2007.03.28","01","",0,0);
    ......
    m_List[0][345] = new Array(2,167896,"人民代表大会","","2007.03.28","2007.03.28","01","",0,0);
    ================================================
    以上到底是javascript中的代码,
    还是整个为php的字符串?
      

  2.   

    $str = 'm_List[0][0] = new Array(0,14414,"两级人民代表大会选举实施","","2007.03.28","1980.07.10","01","",0,0);m_List[0][1] = new Array(1,17899,"会关于修改的决定","","2007.03.28","2007.03.28","01","",0,0);m_List[0][2] = new Array(2,16923861,"人民代表大会代表程序的规定","","2007.03.28","2007.03.28","01","",0,0);m_List[0][345] = new Array(2,167896,"人民代表大会","","2007.03.28","2007.03.28","01","",0,0);';preg_match_all('/\((.*?)\)/is',$str,$m);//print_r($m[0]);
    foreach($m[0] as $value)
    {
      $sql = "insert into table values".$value;
      mysql_query($sql);
    ..
    ..
    }
      

  3.   

    跟顶楼一样,你可以直接用m_List[0][0][0], m_List[0][0][1].......
      

  4.   

    谢谢foolbirdflyfirst(湖水清澈) ,有两个问题:1、我如下的字符串,输出后的结果不全。
    2、如果我想取14343(第二条中的第二个),为什么不是print($m[0][1][1])这个?<?
    $str ='m_LibRecList[0][0] = new Array(0,1233,"辽宁省县乡两级人民代表大会选举实施细则(2007修正)","","2007.03.28","1980.07.10","01","",0,0);m_LibRecList[0][1] = new Array(1,14343,"辽宁省人大常委会关于修改《辽宁省县乡两级人民代表大会选举实施细则》的决定(2007)","","2007.03.28","2007.03.28","01","",0,0);m_LibRecList[0][2] = new Array(2,15445,"辽宁省罢免和补选各级人民代表大会代表程序的规定(2007修正)","","2007.03.28","2007.03.28","01","",0,0);';
    ?>
      

  5.   

    m_List[0][0] = new Array(0,14414,"两级人民代表大会选举实施","","2007.03.28","1980.07.10","01","",0,0);m_List[0][1] = new Array(1,17899,"会关于修改的决定","","2007.03.28","2007.03.28","01","",0,0);m_List[0][2] = new Array(2,16923861,"人民代表大会代表程序的规定","","2007.03.28","2007.03.28","01","",0,0);
    ......
    m_List[0][345] = new Array(2,167896,"人民代表大会","","2007.03.28","2007.03.28","01","",0,0);foreach($m_List as $k=>$v)

      foreach($v as $k1=>$v1)
        { 
           foreach($v1 as $k2=>$v2)
            {
             insert into tbl()values($v2);
            }
        }}
      

  6.   

    2、如果我想取14343(第二条中的第二个),为什么不是print($m[0][1][1])这个?
    =========================================
    你上面是整个字符串.... $m[0][1][1]是什么?$m有给赋过值么?
    $str ='m_LibRecList[0][0] = new Array(0,1233,"辽宁省县乡两级人民代表大会选举实施细则(2007修正)","","2007.03.28","1980.07.10","01","",0,0);m_LibRecList[0][1] = new Array(1,14343,"辽宁省人大常委会关于修改《辽宁省县乡两级人民代表大会选举实施细则》的决定(2007)","","2007.03.28","2007.03.28","01","",0,0);m_LibRecList[0][2] = new Array(2,15445,"辽宁省罢免和补选各级人民代表大会代表程序的规定(2007修正)","","2007.03.28","2007.03.28","01","",0,0);';preg_match_all('/array\((.*?)\)(?:\;)/is',$str,$m);//改一下正则表达示//print_r($m[0]);foreach($m[0] as $value)
    {
    eval("\$value=$value;");
    $newArray[0][] = $value;//按照你的要求,你可以构建成一个你想要的结构
    }
    print_r($newArray);
    echo $newArray[0][1][1];exit;
      

  7.   

    $sql = "Insert into table (a,b,c,d) values ";
    for($i=0;$i<count($m_List[0]);$i++)
    {
       $sql .= " ($m_List[0][$i][0],$m_List[0][$i][1],$m_List[0][$i][2])";
    }
      

  8.   

    for ($i=0;$i<count($m_List[0]);$i++)
    {

    foreach($m_List[0] as $value)
    {
    $tt.=$value."\t";

    $mm.=$tt."\n";
    }
    $query="load data infile into //后面的我忘了,呵呵,我还不知道是不是正确的?!