HTMLフォーム(メソッド - ポスト)に複数の選択要素があります。$songs 配列を順序付きリストに変換したい。
<select name="songs" multiple>
<option>song 1</option>
<option>song 2</option>
<option>song 3</option>
<option>song 4</option>
<option>song 5</option>
<option>song 6</option>
<option>song 7</option>
<option>song 8</option>
<option>song 9</option>
<option>...</option>
</select>
次のphpコードを書きました
$songs = test_input($_POST["songs"]);
foreach ($songs as $song)
{
$songs .= "<li>$song</li>";
};
$songList = "Songs: <ol> $songs </ol> \r\n";
echo $songList;
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
しかし、それは私にエラーを与えますInvalid argument supplied for foreach()
foreach()
このループの何が問題なのか誰か教えてください
関数 test_input() がString
代わりに返される場合、順序付きリストArray
に変換するにはどうすればよいですか?$songs