PHP array_pop不起作用

时间:2011-02-24 06:07:31

标签: php

$fav = explode("|","0 | 1 | 2 | ");  
print_r($fav);  
$fav = array_pop($fav);  
echo "<br>after <br>";  
print_r($fav);  

我的代码中出现了什么问题?我想删除数组$fav中的最后一个值。

6 个答案:

答案 0 :(得分:7)

array_pop返回最后一个不剩余部分的值。

所以请将此行$fav = array_pop($fav);更改为array_pop($fav);

答案 1 :(得分:3)

删除作业,如下所示:

array_pop($fav);  

array_pop返回已删除的值并就地修改数组,因此您不能将返回值赋给数组变量。

答案 2 :(得分:2)

    <?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 
    )

答案 3 :(得分:1)

您将array_pop的结果分配给原始数组。将该行更改为:

$removed = array_pop($fav);

答案 4 :(得分:1)

你已经覆盖了变量$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
?>

答案 5 :(得分:1)

array_pop返回remove元素,而不是数组本身。

试试这个:

<pre>  
<?php  
$fav = explode("|","0 | 1 | 2 | ");  
print_r($fav);  
$last = array_pop($fav);  
echo "<br>after <br>";  
print_r($fav);  
?>  
</pre>