问题 我已经使for循环减少但值 $ k 并没有相反的方式。下面是为了让它正常运行的代码,任何帮助都会很棒。
基本上我正在处理iFrame而我想获取父URL数据,因为我正在使用 $ _ SERVER ['HTTP_REFERER'] 。我正在完美地获取父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
答案 0 :(得分:2)
for($k=count($mainurlArr)-1, $i=0; $k>=0; $k--,$i++){
echo $mainurlArr[$k].' ,pos=> '.$i."<br />";
}
答案 1 :(得分:0)
这应该有效:
$start = count($mainurlArr)-1;
for($k=$start; $k>=0; $k--){
echo $mainurlArr[$k].' ,pos=> '.($start - $k)."<br />";
}
(你可能需要交换到$k - $start
,因为这会让我头疼,试图解决这个问题。
它从总计中减去当前索引,并显示该索引。我在循环之外初始化它以节省一些函数调用,并保持代码更整洁。
答案 2 :(得分: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;
}
}