Array
(
    [0] => 111.193.169.58
    [1] => -
    [2] => -
    [3] => [27/Sep/2010:18:45:04
    [4] => +0800]
    [5] => GET /callbackdown.php?contentid=640&ctype=8&phoneid=2&did=&status=1&username=test123456&imei= HTTP/1.1
    [6] => 404
    [7] => 169
    [8] => -
    [9] => leyu
    [10] => -
)
如何获取
[5] => GET /callbackdown.php?contentid=640&ctype=8&phoneid=2&did=&status=1&username=test123456&imei= HTTP/1.1
contentid
ctype
phoneid
status
username
这些的值?

解决方案 »

  1.   

    方法多呢,
    用 ? 分开
    再用 & 分开
    再用 = 分开 就行了。还有,用 parse_str 也行。也可以构造成一个完整的 url,然后 parse_url
      

  2.   


    <?php
        $arr = array(   0 => "111.193.169.58",
        1 => "-",
    2 => "-",
    3 => "[27/Sep/2010:18:45:04",
    4 => "+0800]",
    5 => "GET /callbackdown.php?contentid=640&ctype=8&phoneid=2&did=&status=1&username=test123456&imei= HTTP/1.1",
    6 => "404",
    7 => "169",
    8 => "-",
    9 => "leyu",
    10 => "-"
    );
        $index = strpos($arr[5],'/');
    $str = substr($arr[5],$index);
    $arr_1 = explode('?',$str);
    $arr_2 = explode('&',$arr_1[1]);
    $result = array();
    foreach($arr_2 as $key=>$value)
    {
        $arr_3 = explode("=",$value);
    $result[$arr_3[0]] = $arr_3[1];
     
    }
    print_r($result);
    ?>
      

  3.   

    $arr = array(   0 => "111.193.169.58",
                        1 => "-",
                        2 => "-",
                        3 => "[27/Sep/2010:18:45:04",
                        4 => "+0800]",
                        5 => "GET /callbackdown.php?contentid=640&ctype=8&phoneid=2&did=&status=1&username=test123456&imei= HTTP/1.1",
                        6 => "404",
                        7 => "169",
                        8 => "-",
                        9 => "leyu",
                        10 => "-"
                    );
    preg_match_all('/[\?&]([^=]+?)=([^&]+)/',$arr[5],$matches);
    $match=array_combine($matches[1],$matches[2]);
    print_R($match);
      

  4.   

    [28/Sep/2010:17:06:50
    这种格式怎么转成2010-10-28 17:06:50?
      

  5.   

    $matches
    这个值是哪里来的?
      

  6.   

    [28/Sep/2010:17:06:50这种格式怎么转成2010-10-28 17:06:50?