如何解析$ _REQUEST?

时间:2010-12-02 18:23:15

标签: php

这里我正在检查并获取部分请求(ids)。我也打印出整个请求:

if (isset($_REQUEST['ids'])){
    $amount = sizeof($_REQUEST['ids']);
    print_r($_REQUEST);
    echo "<br>$amount invitations Successfully Sent";
}

这就是整个$ _REQUEST的打印方式:

Array
(
    [mfs_typeahead_req_form_4cf74f96db3688507476560] => Start Typing a Name
    [ids] => Array
        (
            [0] => 510149460
        )
    [fbs_258181898823] => \"access_token=258181898823|2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700|LqtGr_OiJTASGmek61awxmxfvFk&expires=1291280400&secret=85eTEELZj8lkV82V_PwRSA__&session_key=2.q_qb_yoReO0_xc4H8PxKRQ__.3600.1291280400-100000664203700&sig=d4cc0e4c0992ea29c0adfd60dc27185b&uid=100000664203700\"
)

我需要在最后解析部分:&amp; uid = 100000664203700,特别是'100000664203700'

4 个答案:

答案 0 :(得分:1)

$queryString = $_REQUEST["fbs_258181898823"];
$output = array();
parse_str($queryString, $output);
print $output["uid"];

答案 1 :(得分:0)

parse_str()会分解看起来像查询字符串的内容。我建议你传递一个数组作为第二个参数。

答案 2 :(得分:0)

你可以使用parse_str() - 它应该可以解决问题。

答案 3 :(得分:0)

首先,在开头和结尾删除\"(使用preg_replacestripslashes的组合),然后使用parse_str

$str = preg_replace('/(^"|"$)/', '', stripslashes($_REQUEST['fbs_258181898823']));
parse_str($str, $data);
$uid = $data['uid'];