PHP массивы

  • Автор темы Array
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Array

Гость
#1
Код:
Array
(
 [можно] => 1
 [быть] => 1
 [должно] => 1
 [классно] => 1
)
Код:
Array
(
 [можно] => 1
 [быть] => 1
 [должно] => 1
)
Как из первого массива убрать все связки ключ-значение, которые присутствуют во втором. т.е., чтобы в результате явилься массив

Код:
Array
(
 [классно] => 1
)[/
Значения ключей одинаковы во всех массивах.

А вообще стоит задача такая:

есть ассоц.массив и обычный. Нужно из первого извлечь все пары, кроме тех, у которых ключ совпадает со значением, находящимся во втором массиве.

Например
I.
array(
q => 1
w => 1
e = > 2
r => 9
t => 2
)

II.
array(e, r)

Так вот нужно удалить из первого массива все пары, на ключи которых, указывает второй массив. Короче, отфильтровать

Поможете? :)
 

admin

Well-Known Member
08.08.2003
2 754
1
#2
Array
я не совсем понял
тебе алгоритм нужен, чтобы удалить из массива опреденённые дублируищиеся элементы или как?
 
J

jaunty

Гость
#3
1.
Код:
$a3 = array_diff($a1,$a2);
2.
если правильно понял вопрос
Код:
$a3 = array_flip(array_diff(array_flip($a1),$a2));
 
A

AL

Гость
#4
$a3 = array_flip(array_diff(array_flip($a1),$a2));
Если так сделать, то потеряются значения ключей, там где они совпадают.
Нужно обойти массивы по циклам и при встречающейся звязке по eregi удалить ее через unset
 
Статус
Закрыто для дальнейших ответов.