遇到一个非常简单的PHP数组问题

时间:2012-02-11 22:24:52

标签: php arrays

我需要的两个是从数组中删除最后两个元素,它只包含3个元素,输出这两个被删除的元素,然后输出未删除的元素。我在删除这两个元素时遇到了问题,并且保留了它们的密钥。

我的代码在http://pastebin.com/baV4fMxs

目前正在输出:Java Perl的 阵列

我希望它输出: [一] => Perl和[Two] => Java的 [零] => PHP

4 个答案:

答案 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

Demo

答案 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