У меня есть некоторые заявления, как
echo "<input type='hidden' name='from21' value='$_POST[from21]'>";
echo "<input type='hidden' name='from22' value='$_POST[from22]'>";
echo "<input type='hidden' name='from23' value='$_POST[from23]'>";
echo "<input type='hidden' name='from24' value='$_POST[from24]'>";
echo "<input type='hidden' name='from25' value='$_POST[from25]'>";
echo "<input type='hidden' name='from26' value='$_POST[from26]'>";
Я хочу выполнить их через функцию вроде
function ddd($ed){
for ($i=1;$i<=6;$i++)
{
echo "<input type='hidden' name='from.$ed.$i' value='$_POST[from.$ed.$i]'>";//-----------(1)
}
}
После этого я буду вызывать функцию как
ддд ( ‘2’);
Но это дает ошибку. Должна быть некоторая проблема в (1). Какой должен быть правильный синтаксис.
Вы можете сделать это так:
<?php
function ddd($ed){
for ($i=1;$i<=6;$i++){
echo "<input type='hidden' name='from$ed$i' value='\$_POST[from$ed$i]'>";
}
}
ddd('2');
Знак доллара в $ _POST необходимо экранировать с помощью обратной косой черты, чтобы вы могли отображать его как есть.
Вы также должны удалить точки между $ ed и $ i.
Вот демонстрация.
Проблема с name='from.$ed.$i'
. Вам нужно удалить точки или правильно соединить их name='from'.$ed.$i.'
как говорит @aspirin в комментарии.
Надеюсь, поможет..:)