我有两个数组结构。我想删除两个数组中的所有数组项,除了两个数组中的一个项。我在下面写了我的代码。我怎么能这样做?
$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
。
答案 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']);