2013-12-13 75 views
0

以下面的URL为例。还有一些具有相同的名称,除了最后一个字母通过变量检索获取数据获取名称

http://foo.com/foo.php?lala1=pie&lala2=cake&lala3=cobler 

我会知道的变量是重复了多少遍3个GET变量,所以我决定试试这个

for ($x=0; $x<=$totalrepeats; $x++) 
{ 
echo $_get['lala$x']; 
} 

我希望这是有些意义。

+0

'我决定尝试this' - ...和?发生了什么? (提示:超级全局变量必须是大写:'$ _GET'。) –

+0

你应该停止这种疯狂并使用数组。 :P如果你命名你的领域像'lala [1]','lala [2]'等等,PHP会自动将它们组装成一个数组,你可以用$ _GET ['lala']'键入并键入由括号内的东西。 – cHao

回答

2

尝试是这样的:

for ($x=1; $x<=max_limit; $x++) 
{ 
echo $_GET["lala$x"]; 
} 

开始循环使用1不为零。

+0

感谢您的帮助球员,我实际上已经尝试过,除了我做$ _get而不是$ _GET我不敢相信我犯了这个错误。我也是从0开始,当它应该是1.再次感谢 – Radagast

2

如果是串联,只是做下面的事情不是更好吗?

echo $_GET['lala'.$x]; 
+1

他基本上也是这样做的。如果我没有错,变量在字符串中被识别。 –

+1

为什么heck downvote? 'blabla $ x'将不会工作。你需要“”为那 –

+0

对不起,我只是把它粘贴到字符串的错误,不介意的得到... – Charline

1

为什么不提取所有信息并排除循环?

foreach ($_GET as $thisget) { 
    echo $thisget; 
} 
0

这可能帮助

$arr=array(1,2,3,4,1,1,1,1); 
      $secondarr= array_unique($arr); 
      foreach($secondarr as $value) 
      { 
       $newarr= array_keys($arr,$value); 
       echo 'there are'.count($newarr).' enteries for '.$value.'<br>'; 
      }