在我最近做的一个项目中,我发现了一个新的概念,关于在PHP中使用变量的变量。在我的程序中,我需要在一个页面同时更新多个记录,在我经过相当长时间的痛苦思索之后,脑海中偶然地闪现出了变量的变量(variable variable)这一概念,所有的困惑就一扫而光了。 
介绍</b> 
$$x = "is cake"; 
 
 
 
<b>例子</b> 
PostedBy 
Link 
Description 
Approved 
$index_count = 0; 
echo "<table>n"; 
echo "<tr><td><b>Posted By</b></td><td><b>Link</b></td>". 
"<td><b>Description</b></td><td><b>Approved</b></td></tr>n"; 
/********* 
假定我们已从数据库中检索出记录到一个数组中  
$myrow = mysql_fetch_array(). 
下面的 do...while 循环根据名字为每一个$xstr变量分配了一个值并且连接了$index 的值到结尾,以0为开始。 
这样,这个循环的第一次时,$SubmissionIDStr 的值就是 SubmissionID0 ,第二次就是 SubmissionID1 ,以此类推。 
***********/ 
$LinkStr = Link.$index; 
$DescriptionStr = Description.$index; 
$ApprovedStr = Aprroved.$index; 
//这一段将在屏幕上显示值,以每行一条记录。 
<td><input type=text name=%s value=%s></td><td><input type=text name=%s value=%s></td> 
<td><input type=radio name=%s value=-1>Yes<input type=radio name=%s value=0 checked>No</td></tr>n", 
$SubmissionIDStr, $myrow["SubmissionID"], $PostedByStr, $myrow["PostedBy"], $LinkStr, $myrow["Link"], 
$DescriptionStr, $myrow["Description"], $ApprovedStr, $ApprovedStr); 
//每个循环记数器加1 
$index_count++; 
n"; 
 
/***** 
这部分用我们在前面创建的名字设置了新的变量 
从0开始,直到$index_count 
*****/ 
$varPostedBy = 'PostedBy'.$index; 
$varLink = 'Link'.$index; 
$varDescription = 'Description'.$index; 
$varApproved = 'Approved'.$index; 
/****** 
这是变量的变量部分,把每个值分配给每个新变量的名。 
例如,第一次循环时,分配给记录 SubmissionID0 是从前面得来的值,我们用变量的变量来了取到它。 
*******/ 
$PostedByvalue = $$varPostedBy; 
$Linkvalue = $$varLink; 
$Descriptionvalue = $$varDescription; 
$Approvedvalue = $$varApproved; 
//更新数据库 
"Description='$Descriptionvalue' WHERE SubmissionID=$SubmissionIDvalue'"; 
$result = mysql_query($sql); 
//如果本记录被设置为approved,更新相应的字段 Approved。 
$result = mysql_query($sql); 
} 
 
	
变量的变量,PHP 和 你
,变量的变量,PHP 和 你
			免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。