对不起朋友,这可能是基本的东西,但我无法弄明白
我有一个数组
$_POST = array("name"=>"John","fname"=>"Anderson","submit"=>"submit");
我想要的是在删除最后一个元素"submit" => "submit"
我知道这可以通过简单地取消设置提交来完成,但我希望它是动态的。
我试过
$_POST = array_pop($_POST);
print_r($_POST);
但它只是让我“提交”一词。我想要它应该返回
array("name"=>"John","fname"=>"Anderson");
更新部分:
public function insertRow($table,$_post){
$_post = (array_pop($_post));
print_r($_post);
}
$Connection->insertRow("users",array("name"=>"raheel","fname"=>"masood","submit"=>"submit"));
在上面的函数中,$ _post返回我只提交
答案 0 :(得分:1)
来自manual:
混合
array_pop
(数组& $ array )
array_pop()
弹出并返回数组的最后一个值,将数组缩短一个元素。如果是array
为空(或不是数组),将返回NULL
。在非呼叫时还会产生警告 阵列。注意:此函数在使用后将
reset()
输入数组的数组指针。
这样:
$popdValue = array_pop($_POST); // no assignment to $_POST
echo $popdValue; // last element removed from $_POST
print_r($_POST); // remaining $_POST
答案 1 :(得分:1)
array_pop
函数修改了数组;它返回弹出的内容,而不是弹出后的数组。因此,请勿将返回值分配回$_POST
。
如果您希望获得$_POST
的最后一个元素而不实际修改$_POST
本身,则可以使用array_slice
:
$_POST_minus_last = array_slice($_POST, 0, -1);
答案 2 :(得分:0)
您还可以使用 array_splice()
<?php
$arr = array("name"=>"John","fname"=>"Anderson","submit"=>"submit");
array_splice($arr,2);
print_r($arr);
输出:
Array ( [name] => John [fname] => Anderson )
答案 3 :(得分:-1)
因为array_pop
返回弹出的元素。不是阵列的其余部分。
array_pop($_POST);
print_r($_POST);