我需要的两个是从数组中删除最后两个元素,它只包含3个元素,输出这两个被删除的元素,然后输出未删除的元素。我在删除这两个元素时遇到了问题,并且保留了它们的密钥。
我的代码在http://pastebin.com/baV4fMxs
目前正在输出:Java Perl的 阵列
我希望它输出: [一] => Perl和[Two] => Java的 [零] => PHP
答案 0 :(得分:2)
$last=array_splice($inputarray,-1);
//$last has now key=>value of last element
$middle=array_splice($inputarray,-1);
//$middle has now key=>value of middle element
//$inputarray has now only key=>value of first element
答案 1 :(得分:0)
你提到了键,所以我认为它是一个关联数组。要删除元素,可以调用unset
函数,如下所示:
unset ($my_array['my_key'])
对要删除的两个元素执行此操作。
答案 2 :(得分:0)
array_pop
会很容易为你做到这一点:
$array = array( 'one', 'two', 'three');
$last = array_pop( $array); echo $last . "\n";
$second = array_pop( $array); echo $second . "\n";
echo $array[0];
<强>输出:强>
three
two
one
答案 3 :(得分:0)
在我看来,你想要在删除它们之前检索这两个被删除的值。考虑到这一点,我建议使用array_pop()
同时返回数组中的最后一项并将其从数组中删除。
$val = array_pop($my_array);
echo $val; // Last value
$val = array_pop($my_array);
echo $val; // Middle value
// Now, $my_array has only the first value