array_diff в массиве ассоциативных массивов в php

У меня два массива формы

Array1:
[0]=> Array([name] => foo [id] => 12)
[1]=> Array([name] => bar [id] => 34)

Array2:
[0]=>Array([name] => bar [id]=> 34)
[1]=>Array([name] => baz [id]=> 56)

Массивы поступают из базы данных, и любые две пары могут иметь одно и то же имя, но идентификаторы уникальны. Я пытаюсь сравнить массивы по ID нравится так:

$one_not_two = array_diff($array1[id], $array2[id]);
но это ничего не возвращает. Я также пробовал
$one_not_two = array_diff($array1[id], $array2[id]);
который возвратил ошибку «аргумент не является массивом». Первоначально я обошел его, извлекая идентификаторы в одномерный массив и просто сравнивая их, но теперь новая функция требует от меня сравнения пар. Любой совет?

PS На наших серверах работает php 5.3, если это имеет значение.