PHP array_pop 不工作
Posted
技术标签:
【中文标题】PHP array_pop 不工作【英文标题】:PHP array_pop is not working 【发布时间】:2011-07-03 07:53:15 【问题描述】:$fav = explode("|","0 | 1 | 2 | ");
print_r($fav);
$fav = array_pop($fav);
echo "<br>after <br>";
print_r($fav);
我的代码有什么问题?我想删除数组$fav
中的最后一个值。
【问题讨论】:
【参考方案1】:array_pop
返回最后一个值而不是剩余部分。
所以将这一行 $fav = array_pop($fav);
更改为 array_pop($fav);
【讨论】:
【参考方案2】:删除分配,所以它看起来像这样:
array_pop($fav);
array_pop 返回移除的值并就地修改数组,所以不能将返回值赋给数组变量。
【讨论】:
【参考方案3】: <?php
$fav = explode("|","0 | 1 | 2 | ");
print_r($fav);
$remove_last= array_pop($fav);
echo "<br>after <br>";
print_r($fav);
?>
output
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] =>
)
after
Array
(
[0] => 0
[1] => 1
[2] => 2
)
【讨论】:
【参考方案4】:您将array_pop
的结果分配给原始数组。将该行更改为:
$removed = array_pop($fav);
【讨论】:
【参考方案5】:您已经覆盖了变量$fav
。
您可能还想从您爆炸的字符串中删除最后一个 |
。
<?php
$fav = explode("|","0 | 1 | 2");
print_r($fav); // output should be: 0, 1, 2
$last_element = array_pop($fav);
echo "<br>after <br>";
print_r($fav); // output should be: 0, 1
?>
【讨论】:
【参考方案6】:array_pop 返回删除元素,而不是数组本身。
试试这个:
<pre>
<?php
$fav = explode("|","0 | 1 | 2 | ");
print_r($fav);
$last = array_pop($fav);
echo "<br>after <br>";
print_r($fav);
?>
</pre>
【讨论】:
以上是关于PHP array_pop 不工作的主要内容,如果未能解决你的问题,请参考以下文章
[PHP源码阅读]array_pop和array_shift函数
php数组array_push()和array_pop()以及array_shift()函数