猿问

如何在不重新定义字符串的情况下将字符串影响到变量

我正在做一个项目,它有一堆变量用于我定义的某些链接。但是我只想在获得一些 GET 参数时在这些变量的末尾添加一个字符串。问题是我不想再有大量的变量,我想为变量使用相同的名称。经过一番研究,我找到了这个.=非常适合我的运算符。我还制作了一个for loop它适用于变量值,但我没有相同的名字。


这是我得到的:


$homeLink = $wURL.'government/'.$job.'/';

$databaseLink = $wURL.'government/'.$job.'/search/database';

$overviewLink = $wURL.'government/'.$job.'/overview';


// Other variables


if (!isset($_SESSION['steamid']) && isset($_GET['uID']) && isset($_GET['uToken'])) {

  // redefine the variables like this:

  $homeLink .= '?uID='.$userinfoVlife['id'].'&uToken='.$userinfoVlife['websiteMDP'];

  /* 

   OUTPUT: $wURL.'government/'.$job.'/'.'?uID='.$userinfoVlife['id'].'&uToken='.$userinfoVlife['websiteMDP']

  */


  // The for loop:

    $arr = array($homeLink,$databaseLink,$overviewLink);

    $nb = count($arr);

    for ($i=0; $i < $nb ; $i++) {

      $arr[$i] .= '?uID='.$userinfoVlife['id'].'&uToken='.$userinfoVlife['websiteMDP'];

      echo $arr[$i]."<br>";

     // have the same output that above but I have to call my variables with $arr[<a number>];

    }

}

问题是我不想再有大量的变量,我想为变量使用相同的名称,关于如何进行的任何想法?


千巷猫影
浏览 69回答 1
1回答

蝴蝶不菲

首先,您的最后两个链接实际上都是基于第一个链接$homeLink:$homeLink = $wURL.'government/'.$job.'/';$databaseLink = $homeLink.'search/database';$overviewLink = $homeLink.'overview';那为什么不构建参数字符串然后附加它呢?$homeLink = $wURL.'government/'.$job.'/'$paramString = '';if (!isset($_SESSION['steamid']) && isset($_GET['uID']) && isset($_GET['uToken'])) {&nbsp; &nbsp; $paramString = '?uID='.$userinfoVlife['id'].'&uToken='.$userinfoVlife['websiteMDP'];}$databaseLink = $homeLink.'search/database'.$paramString;$overviewLink = $homeLink.'overview'.$paramString;$homeLink .= $paramString;我不明白为什么要将 URL 存储在一个数组中,这些是不同的 URL,因此要在不同的上下文中使用,将它们全部放在一个数组中当然是可能的,但不会带来任何价值,在我的观点。总而言之,如果$userinfoVlife['websiteMDP']包含一个可读的密码,那么您的应用程序架构肯定有问题:处理原始密码是非常糟糕的做法,在 URL 中传递它更糟糕。
随时随地看视频慕课网APP
我要回答