Я до сих пор не могу придумать правильный алгоритм, у меня есть одна переменная сеанса, в которой хранится информация о том, как создать форму, и она выглядит так: $ _SESSION [‘formsarray’] => [‘form1’] form2 … и т. Д., И У form1 есть массив, в котором хранится информация о типе ввода, имени ввода и требуемом атрибуте, так что это в основном двумерный массив. Все эти 3 атрибута должны быть отсортированы (в форме 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++;
}
но это неправильно, я думал заменить второй цикл foreach на цикл for и зная, что у нас есть 3 атрибута, которые принадлежат друг другу, запустить цикл с делением на 3, чтобы он сортировал и передавал 3 значения одновременно функция, сбрасывает итератор и снова запускается, у кого-нибудь есть лучшее решение?
Задача ещё не решена.
Других решений пока нет …