Я получаю некоторый определенный объем данных. Я получу номер, для которого будет запущен цикл for.
Например, я получаю номер 3, и я получу три параметра, такие как par1, par2 и par3, тогда как я должен передать этот par1
в $_post
как
$i=$_POST["number"]; for($i=1;$i<=$n;$i++) { $par.$i = $_POST["par".$i]; }
Здесь я не могу получить значение из $_POST["par".$i]
; Поскольку он не может получить переменную внутри paramater $_POST
Любая помощь будет благодарна
Я предлагаю вам создать новый массив $par
и там вы поместите по индексу все параметры, которые у вас будут такими:
$i=$_POST["number"]; $par = []; for($i=1;$i<=$n;$i++) { $par[$i] = $_POST["par".$i]; }
После этого, если вы хотите бросить все парсы, вы можете просто использовать foreach
следующим образом:
foreach($par as $key => $value) { // $key will be 1,2,3 // $value will be the value from $_POST["par" . $i] }
.
заключается в конкатенации двух строк в PHP, и вы не можете создать новую переменную, как вы пробовали. Если вы хотите иметь в $par1
, $par2
и $par3
вы можете сделать вот так:
${"par" . $i} = $_POST["par".$i];
Но я не рекомендую этого, потому что с ним сложно справиться.
Одностороннее движение
По вашему вопросу.
<?php $n = $_POST["number"]; $par = "par"; for($i=1; $i<=$n; $i++){ $par.$i = $_POST["par".$i]; }?>
Альтернативный путь
В этом случае,
Например, я получаю номер 3, и я получу три параметра, такие как par1, par2 и par3, затем как передать этот par1 в $ _post.
Лучше сделайте входное имя 'par' как тип массива, как 'par []' ( <input type='text' name='par[]'>
), вместо этого используйте par1, par2 .. par (n).
И не нужно беспокоиться о странице отправки.
<?php $n = $_POST["number"]; for($i=1;$i<= $n;$i++){ $newPar = $_POST["par"][$i]; // Write here your logic to use how you want. } ?>