在下面的代码中,我简单地提供了表单的值
$t = $_GET['type'];
$p = $_GET['product'];
$b = $_GET['brand'];
$c = $_GET['category'];
$attribute = getattributes($p,$b,$c);
$count = count($attribute);
$i=0;
变量$属性有
Array([0]=>size [1]=>weight)
现在使用上面的数组我想生成以下行
$size = $_GET['size'];
$weight = $_GET['weight'];
我不想像上面那样手动分配,而是使用循环创建两行。
像
这样的东西$i=0;
while($i < $count)
{
'$'.$attribute[$i] = '$_GET['.$attribute[$i].']'; //edited part
}
我不知道这是否有用,有人可以提供一段简单的代码来实现同样的目标吗?
解决方案代码:
Awlad Liton:谢谢你的回答。代码中有一个小的变化,它给出了所需的输出(表单中的值)
foreach($attribute as $k => $v){
$$v = $_GET[$v];
}
答案 0 :(得分:1)
$$attribute[$i] = $_GET[$attribute[$i]];
答案 1 :(得分:1)
试试这个:
演示:https://eval.in/96388
$attribute = array(0=>'size', 1=>'weight');
foreach($attribute as $k => $v){
$$v = '$_GET['."'$v'".']';
}
echo $size." ";
echo $weight;
<强>输出:强>
$_GET['size'] $_GET['weight']
<强>更新强> 当你回复时,你可以这样做:
foreach($attribute as $k => $v){
$$v = $_GET[$v];
}