删除除一个数组项之外的所有数组项

时间:2014-08-11 10:08:15

标签: php arrays

我有两个数组结构。我想删除两个数组中的所有数组项,除了两个数组中的一个项。我在下面写了我的代码。我怎么能这样做?

$array_one = array(
   'image-one' => 'image-one.jpg',
   'image-two' => 'image-two.jpg',
   'image-three' => 'image-three.jpg',
   'image-four' => 'image-four.jpg',
   'image-five' => 'image-five.jpg',
   'image-six' => 'image-six.jpg',
   'image-seven' => 'image-seven.jpg',
);

$array_two = array(
   'image-one' => 'image-one.jpg',
   'image-two' => 'image-two.jpg',
   'image-three' => 'image-three.jpg',
   'image-four' => 'image-four.jpg',

);

我想删除除image-one.jpg,image-two.jpg,image-three.jpg以外的两个数组中的image-four.jpg,image-five.jpg,image-six.jpg,image-seven.jpg

3 个答案:

答案 0 :(得分:1)

使用未设置:

unset($array['image-one']);
unset($array['image-two']);
unset($array['image-three']);

您也可以创建循环。

$todelete = array('image-one', 'image-two', 'image-three');
foreach($todelete as $del){
    unset($array[$del]);
}

如果您想按值删除:

$todelete = array('image-one.jpg', 'image-two.jpg', 'image-three.jpg');
foreach($todelete as $del){
  if(($key = array_search($del, $array)) !== false) {
    unset($array[$key]);
  }
}

答案 1 :(得分:-2)

使用PHP unset()

unset($array_one['image-one']);
unset($array_one['image-two']);
unset($array_one['image-three']);

答案 2 :(得分:-3)

您可以使用unset()

unset($array_one['image-one']);
unset($array_one['image-two']);
unset($array_one['image-three']);