2016-10-25 138 views
1

美好的一天。我有这个输入表单。如何使用PHP输入loop循环输入PHP

<form action="#" method="POST"> 
Name 1 : <input type="text" name='fName[]' /> 
Name 2 : <input type="text" name='fName[]' /> 
Name 3 : <input type="text" name='fName[]' /> 
<br /> 
Age 1 : <input type="text" name='fAge[]' /> 
Age 2 : <input type="text" name='fAge[]' /> 
Age 3 : <input type="text" name='fAge[]' /> 
<button type="submit" name="sbmt"> Submit </button> 
</form> 

<?php 
    if(isset($_POST['sbmt'])) 
    { 
     echo "<pre>";print_r($_POST['fName']); 
     echo "<pre>";print_r($_POST['fAge']); 
    } 

?> 

这里是输出例如:

Array 
(
    [0] => Name1 
    [1] => Name2 
    [2] => Name3 
) 
Array 
(
    [0] => Age1 
    [1] => Age2 
    [2] => Age3 
) 

那么,上述工作正常。我的问题是,我怎么能做到这一点。

Name : Name1;Name2;Name3; 
Age : Age1;Age2;Age3; 
+0

PHP有许多回路,用于阵列通常:'使用foeach()' – nogad

回答

1

使用implode()会帮助你。此函数的数组转换成一个字符串,使用“胶水”将它们连接(在这种情况下,胶分号)

尝试这种情况:

<?php 
    if (isset($_POST['sbmt'])) { 
     echo "Name:". implode(';', $_POST['fName']) . ';'; 
     echo '<br/>'; 
     echo "Agee:". implode(';', $_POST['fAge']) . ';'; 
    } 
?> 
1

您可以通过一个分离器使用破灭功能Concat的数组像这样:

print 'Name : ' . implode(';', $_POST['fName']); 
print 'Age : ' . implode(';', $_POST['fAge']); 

如果你真的想遍历你的数据(这是你的标题所说)你可以通过使用foreach达到这个目的:

print 'Name : '; 
foreach ($_POST['fName'] as $name) { 
    print $name . ';'; 
} 

print 'Age: '; 
foreach ($_POST['fAge'] as $age) { 
    print $age. ';'; 
}