我正在尝试创建一个使用递增/计数编号创建变量的循环:
$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中的所有信息?
谢谢:)
答案 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.''];
}