将增量变量编号添加到变量中

时间:2012-04-26 03:24:33

标签: php loops for-loop

我正在尝试创建一个使用递增/计数编号创建变量的循环:

$names = 4;

for($it=0;$it<$names;$it++){ 
           $NAME{$it}       = $_REQUEST['NAME'.$it.''];
           $SURNAME{$it}    = $_REQUEST['SURNAME'.$it.''];
           $AGE{$it}        = $_REQUEST['AGE'.$it.''];
 }

我的问题是,我没有获得$ NAME0,$ NAME1等,而是获得了一个数组(所以$ NAME [0],$ NAME [1]等等)。

我如何使用循环来获取$ NAME0,$ NAME1,$ NAME2,$ SURNAME1,$ SURNAME2 $ SURNAME3,$ AGE1,$ AGE2,$ AGE3中的所有信息?

谢谢:)

3 个答案:

答案 0 :(得分:4)

您不希望变量具有相关名称;使用数组要简单得多。在这种情况下,$NAME0$NAME[0]相同,但除了$NAME[0]之外,您可以使用$NAME0执行更多操作。坚持阵列,学习使用它;不要重新发明轮子。

答案 1 :(得分:0)

一般来说,如果没有认真考虑,这对于超级全局(例如$_REQUEST)来说是危险的。

但是,对于未充分利用的PHP函数extract(),这是一个很好的用例。

如果您在这种情况下使用它,我强烈建议您使用EXTR_PREFIX_ALL标志设置其他参数。

答案 2 :(得分:-1)

我同意其他人关于使用数组,更好,但如果这不是你想要的,尝试在变量中添加下划线...可能不是“完美”但不会创建数组:

$names = 4;

for($it=0;$it<$items;$it++){ 
       $NAME_{$it}       = $_REQUEST['NAME'.$it.''];
       $SURNAME_{$it}    = $_REQUEST['SURNAME'.$it.''];
       $AGE_{$it}        = $_REQUEST['AGE'.$it.''];
}