2014-02-26 66 views
0

我有数据可以排列成两个数组。如下图所示:从结尾删除重复数组

$array1 = array(30,17,12,6,89,23,45,45,45); 
$array2 = array(30,17,12,6,89,23,45,45,45,45); 

如果$array的最后一个元素是相同的$array2的最后一个元素,我想删除所有相同的元件,但是从最后。因此,在这种情况下,我想$array1是:

$array1 = array(30,17,12,6,89,23) 

但如果如果$array1的最后一个元素是不是类似于$array2我应该得到的所有元素$array1。即

$array1 = array(30,17,12,6,89,23,45,45,45); 
$array2 = array(30,17,12,6,89,23,45,45,45,47); 

它应该返回

$array1 = array(30,17,12,6,89,23,45,45,45); 

能有人给我如何实现这一目标的一些指点?

回答

1
$array1 = array(30,17,12,6,89,23,45,45,45); 
$array2 = array(30,17,12,6,89,23,45,45,45,45); 
if(end($array1) == end($array2)) { 
    $number = end($array1); 
    while(end($array1) == $number) array_pop($array1); 
    while(end($array2) == $number) array_pop($array2); 
} 
var_dump($array1); 
+2

你是不是指array_pop(); ? – Mazzy

+0

对不起我的坏... – J33nn

+0

这个循环将为这个数组执行3次。如果数组变大,那么这可能不是非常有效的。 –