Как проверить массив на существование ключей из другого массива и удалить не существу

J2
На сайте с 13.12.2011
Offline
46
516

Здравствуйте. Есть два массива (это пример, данные в массиве могут быть другие и больше).

$update_arr = array('434' => '1_04593200108174321.jpg', '435' => '1_04593200123375567.jpg'); 

$_POST['sp_val']['1'] = array('434' => 'Красный', '435' => 'Зеленый', '436' => 'Черный');

Необходимо проверить массив $update_arr на существование ключей из массива $_POST['sp_val']['1'] и если каких то нет, то удалить ключи и их значения из массива $_POST['sp_val']['1']. Я делаю так но не получается:

				$a = count($update_arr);

$b = count($_POST['sp_val']['1']);
if($a != $b){
foreach($_POST['sp_val']['1'] as $k=>$v){
if( isset($update_arr[$k]) ) unset($_POST['sp_val']['1'][$k]);
}
}
$first = array_combine(array_keys($_POST['sp_val']['1']), array_values($update_arr));
$second = array_combine(array_values($_POST['sp_val']['1']), array_values($update_arr));
$result = $first + $second
https://mallinru.ru/ (https://mallinru.ru/)
J2
На сайте с 13.12.2011
Offline
46
#1

Все сам допер. Сделал так может кому надо будет:

				$a = count($update_arr);

$b = count($_POST['sp_val']['1']);
if($a != $b){
foreach ($_POST['sp_val']['1'] as $key => $value) {
if (!array_key_exists($key, $update_arr)) {
unset($_POST['sp_val']['1'][$key]);
}
}
}
$first = array_combine(array_keys($_POST['sp_val']['1']), array_values($update_arr));



$second = array_combine(array_values($_POST['sp_val']['1']), array_values($update_arr));
$result = $first + $second;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий