对不起,朋友们,这可能是基本的东西,但我无法弄清楚
我有一个数组
$_POST = array("name"=>"John","fname"=>"Anderson","submit"=>"submit");
我想要的是删除最后一个元素后返回 $_POST 数组"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 只返回我提交
array_pop
函数就地修改数组;它返回弹出的内容,而不是弹出后的数组。 所以不要将返回值赋回$_POST
。
如果你想在不实际修改$_POST
本身的情况下获取$_POST
除最后一个元素之外的所有元素,你可以使用 array_slice
$_POST_minus_last = array_slice($_POST, 0, -1);
从手册:
混合
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
您也可以使用array_splice()
<?php
$arr = array("name"=>"John","fname"=>"Anderson","submit"=>"submit");
array_splice($arr,2);
print_r($arr);
输出:
Array ( [name] => John [fname] => Anderson )
因为array_pop
返回弹出的元素。不是数组的其余部分。
array_pop($_POST);
print_r($_POST);