从类似字段收集POST数据

Jos*_*ren 1 html php forms variables

我发布的表单有很多相似的字段(artist1,artist2,.... artist20).我试图将它们添加到数据库,但我不知道如何轻松获取所有发布的数据,而不必分别写出每个数据.如何将int组合成一个字符串,以便我不必写出每个字符串?这是我尝试过的一种方法:

for( $i=0; $i <= 20; $i++ )
{
   $artist = $_POST['artist'.$i] 
}
Run Code Online (Sandbox Code Playgroud)

我也试过(哪个没用):

for( $i=0; $i <= 20; $i++ )
{
   $art = 'artist' . $i;
   $artist = $_POST[ $art ];
}
Run Code Online (Sandbox Code Playgroud)

nic*_*ckf 5

您可以使用方括号命名HTML元素,PHP会将它们转换为数组:

<input type="text" name="artist[]" value="abc" />
<input type="text" name="artist[]" value="def" />
<input type="text" name="artist[]" value="ghi" />
<input type="text" name="artist[]" value="jkl" />
Run Code Online (Sandbox Code Playgroud)

当你发布它时,这是你将在PHP中得到的:

print_r($_POST);

/* array(
    artist => array(
        0 => "abc",
        1 => "def",
        2 => "ghi",
        3 => "jkl"
    )
) */
Run Code Online (Sandbox Code Playgroud)

...至于将它们放入数据库,请参阅此问题:在同一个表中插入两种数组