1

問題 for ループを減少させましたが、値$kが反対の方法で来ていません。以下は、それを機能させるために実行しているコードです。

基本的に iFrame を扱っており、親 URL データを取得したいので、$_SERVER['HTTP_REFERER']を使用しています。私は完全に親 URL を取得していますが、文字列を壊すときは逆にしたいのです。以下の実際の望ましい結果を見てください。

URL: http://www.example.net/home?game_id=MyTeam11game_type=activity&auth=success

コード

$mainurl = array();
$mainurl = parse_url($_SERVER['HTTP_REFERER']);
$mainurl = array_slice($mainurl, 3, true);
$mainurl = $mainurl['query'];
$mainurlArr = explode('&', $mainurl);
for($k=count($mainurlArr)-1; $k>=0; $k--){
    echo $mainurlArr[$k].' ,pos=> '.$k."<br />";
}

実際の出力

auth=success ,Actual pos=> 2
game_type=activity ,Actual pos=> 1
game_id=Pranavs%20running12 ,Actual pos=> 0

望ましい出力

auth=success ,Actual pos=> 0
game_type=activity ,Actual pos=> 1
game_id=Pranavs%20running12 ,Actual pos=> 2
4

3 に答える 3

2
for($k=count($mainurlArr)-1, $i=0; $k>=0; $k--,$i++){
    echo $mainurlArr[$k].' ,pos=> '.$i."<br />";
}
于 2013-07-17T17:15:53.290 に答える
0

これはうまくいくはずです:

$start = count($mainurlArr)-1;

for($k=$start; $k>=0; $k--){
    echo $mainurlArr[$k].' ,pos=> '.($start - $k)."<br />";
}

$k - $start(解決しようとすると頭が痛くなるので、に切り替える必要があるかもしれません)

合計から現在のインデックスを減算し、それを表示します。いくつかの関数呼び出しを節約し、コードを少し整理するために、ループの外で初期化しています。

于 2013-07-17T17:19:56.137 に答える
0

私は問題を解決することができました。これが私が探していた解決策です。助けてくれてありがとう。

$mainurl = array();
$mainurl = parse_url($_SERVER['HTTP_REFERER']);
$mainurl = array_slice($mainurl, 3, true);
$mainurl = $mainurl['query'];
$mainurlArr = explode('&', $mainurl);

$m = count($mainurlArr)-1;
for($k=count($mainurlArr)-1; $k>=0; $k--){
    if($k == $m){
        $auth = substr($mainurlArr[$m],5);
        $_REQUEST['auth'] = $auth;
    }elseif($k == $m-1){
        $game_type = substr($mainurlArr[$m-1],10);
        $_REQUEST['game_type'] = $game_type;
    }elseif($k == $m-2){
        $game_id = substr($mainurlArr[$m-2],8);
        $_REQUEST['game_id'] = $game_id;
    }
}
于 2013-07-18T08:13:22.193 に答える