繁体   English   中英

如何通过for循环使用变量名来引用变量名中的数字?

[英]How do I use variable names using a for loop to reference a number in the variable name?

$_SESSION_Job101=mysql_fetch_array(mysql_query("SELECT progress FROM job_101 WHERE username='$_SESSION_User'"));
$_SESSION_Job102=mysql_fetch_array(mysql_query("SELECT progress FROM job_102 WHERE username='$_SESSION_User'"));
$_SESSION_Job103=mysql_fetch_array(mysql_query("SELECT progress FROM job_103 WHERE username='$_SESSION_User'"));
$_SESSION_Job104=mysql_fetch_array(mysql_query("SELECT progress FROM job_104 WHERE username='$_SESSION_User'"));
$_SESSION_Job105=mysql_fetch_array(mysql_query("SELECT progress FROM job_105 WHERE username='$_SESSION_User'"));
$_SESSION_Job106=mysql_fetch_array(mysql_query("SELECT progress FROM job_106 WHERE username='$_SESSION_User'"));
$_SESSION_Job107=mysql_fetch_array(mysql_query("SELECT progress FROM job_107 WHERE username='$_SESSION_User'"));
$_SESSION_Job108=mysql_fetch_array(mysql_query("SELECT progress FROM job_108 WHERE username='$_SESSION_User'")); 
$_SESSION_Job109=mysql_fetch_array(mysql_query("SELECT progress FROM job_109 WHERE username='$_SESSION_User'"));
$_SESSION_Job1010=mysql_fetch_array(mysql_query("SELECT progress FROM job_110 WHERE username='$_SESSION_User'"));

for ($x=1;$x<=10;$x++)
{
$e = '$_SESSION_Job10'.$x;
//if ($e >= 100)
//{ $_SESSION_Job10.$x.['progress'] = 100; }
echo $e;
}

我可以使$ e变量返回我想要的变量,但是我希望$ e本质上充当if语句中的该变量,而不仅仅是返回其名称。 当我从if语句中删除注释时,我的页面将变为空白而不是回显$ e。 我该如何完成?

用这个

$e = ${'_SESSION_Job10'.$x}; // $e = $_SESSION_Job101; actual variable here

代替

$e = '$_SESSION_Job10'.$x;   // $e = '$_SESSION_Job101'; // string here

编辑

你必须像这样使用数组

${'_SESSION_Job10'.$x}['progress'];

演示版

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM