我仍然无法想到正确的算法,我有一个会话变量,其中存储了如何创建表单的信息,它看起来像这样:$ _SESSION [' formsarray'] => [' form1'] form2 ...等,form1有一个数组,它存储有关输入类型,输入名称和所需属性的信息,因此它基本上是二维数组。所有这三个属性都需要进行整理(在form1中有更多这些属性,如inputtype1,inputname1,req1,然后是inputtype2,inputname2,req2等,数字定义了正在创建的输入元素)在foreach循环中传递给一个函数,这就是我到目前为止的想法:
foreach($_SESSION['formsarray'] as $form){
echo "form number".$i."<br>";
foreach($form as $no=>$value){
echo "/// key: ".$no."//// value: ".$value."<br>";
if(strpos($no, 'inputtype') !== false){
$typepos[] = $value;
}
if(strpos($no, 'inputname') !== false) {
$namepos[] = $value;
}
if(strpos($no, 'req') !== false) {
$reqpost[] = $value;
}
$formatted['form'.$i] = sorting($typepos['type'.$j], $namepos['name'.$j]);
$j++;
}
$j = 0;
echo"<br>";
$i++;
}
但是它错了,我想用for循环替换第二个foreach循环,并且知道我们有3个属于彼此的属性,运行for循环除以3以便排序和传递同时向一个函数赋值3,重置迭代器然后再次运行,是否有人有更好的解决方案?