```
$a1 = array("1", "2");
$a2 = array(array("numbers" => "1", "something else" => "foo"), array("numbers" => "2", "something else" => "bar"));
```

I need to compare $a1 to $a2 numbers.

```
$a1 = array("1", "2");
$a2 = array(array("numbers" => "1", "something else" => "foo"), array("numbers" => "2", "something else" => "bar"));
```

I need to compare $a1 to $a2 numbers.

I dont… understand?

What output do you desire?

Assumption: You mean you want any values of $a2 whose number element does not exist in $a1;

Something like…

```
$a3 = array_filter($a2,function ($item) { return !in_array($item['number'],$a1); });
```

, perhaps?

(Note: Untested)

No way to use array_diff? I want anything in $a1 that does not exist in $a2[‘numbers’]

but values 1 and 2 DO exist in $a2

do you mean you want to return any values in $a2 that don’t exist in $a1

if so,

this might help:

```
$a1 = array("1", "2");
$a2 = array(array("numbers" => "1", "something else" => "foo"), array("numbers" => "2", "something else" => "bar"));
$a3 = array_merge_recursive(array_diff($a2[0],$a1),array_diff($a2[1],$a1));
echo '<pre>';
print_r($a3);
echo '</pre>';
```

returns:

```
Array
(
[something else] => Array
(
[0] => foo
[1] => bar
)
)
```

Well, sort of i suppose.

```
array_diff($a1,array_map(function($item) { return $item['numbers']; },$a2));
```

Essentially reduce $a2 to the array of it’s number elements, and then diff it.

EDIT: Helps if i put the parameters in the correct order.