我希望能够使用函数向名为播放列表的数组添加新值(强制)。但每次我输入另一个值时,它都会替换旧值,而不是仅添加到数组末尾。怎么了?
<?php
$playlist = array("Be more.mp3", "Drift Away.mp3", "Panda Sneeze.mp3");
function add_songs_playlist() {
global $playlist;
?>
<form method = "post">
<input type = "text" name = "name1"/>
<input type = "submit" name = "submit1"/>
</form>
<?php
if (isset($_POST['submit1'])) {
$newsong = $_POST['name1'];
array_push($playlist, $newsong);
}
}
add_songs_playlist();
foreach ($playlist as $value) {
echo $value."<br>";
}
最佳答案
PHP 值不会在请求之间保存。每次加载此页面时,$playlist
从您分配的三个相同值开始。
如果您想将数据保存更长时间,则需要将其保存在某个地方 - cookie、文件、 session 、数据库等。
或者,您可以通过打印 <input type="hidden">
将值存储在 HTML 本身中。对于播放列表中的每首歌曲。然后,当用户输入一首新歌曲时,您将获得新歌曲以及所有旧歌曲的完整列表。
关于php - 我的数组值在 php 中不断消失和刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14390042/