php删除数组的第一个元素并将所有其他元素向上移动1

时间:2014-05-26 02:26:27

标签: php arrays

eI有以下代码:

$recent = apc_fetch('recn');
$recent[9] = $recent[8];
$recent[8] = $recent[7];
$recent[7] = $recent[6];
$recent[6] = $recent[5];
$recent[5] = $recent[4];
$recent[4] = $recent[3];
$recent[3] = $recent[2];
$recent[2] = $recent[1];
$recent[1] = $recent[0];
$rec = array_pop($recent);
$recent[0] = $name;
apc_store('recn', $recent);

每次重新加载页面时,我都希望$ name为1st,而不是移动列表中的第二个,依此类推。我像这样回应数组:

echo "Most Recent Songs: <br>";
echo "1. " . $name. "<br>";
echo "2. " . $recent[1] . "<br>";
echo "3. " . $recent[2] . "<br>";
echo "4. " . $recent[3] . "<br>";
echo "5. " . $recent[4] . "<br>";
echo "6. " . $recent[5] . "<br>";
echo "7. " . $recent[6] . "<br>";
echo "8. " . $recent[7] . "<br>";
echo "9. " . $recent[8] . "<br>";
echo "10. " . $recent[9] . "<br>";

但只有第一个条目出现。

1 个答案:

答案 0 :(得分:2)

发现它!感谢@giaour对array_unshift的建议,以及@Chelsea帮助我理解array_pop Heres我的新(工作)代码:

$recent = apc_fetch('recn');
array_unshift($recent, $name);
$rec = array_pop($recent);
apc_store('recn', $recent);