Поиск в массиве и возврат всех ключей и значений при обнаружении совпадения

Мне нравится выполнять поиск по массиву и возвращать все значения, когда совпадение найдено. Ключ[name] в массиве это то, что я делаю поиск.

Array (
[0] => Array
    (
        [id] => 20120100
        [link] => www.janedoe.com
        [name] => Jane Doe
    )
[1] => Array
    (
        [id] => 20120101
        [link] => www.johndoe.com
        [name] => John Doe
    )
)

Если бы я сделал поискДжон Доу это вернется.

Array
(
    [id] => 20120101
    [link] => www.johndoe.com
    [name] => John Doe
)

Будет ли проще переименовать массивы на основе того, что я ищу. Вместо приведенного выше массива я также могу сгенерировать следующее.

Array (
[Jane Doe] => Array
    (
        [id] => 20120100
        [link] => www.janedoe.com
        [name] => Jane Doe
    )
[John Doe] => Array
    (
        [id] => 20120101
        [link] => www.johndoe.com
        [name] => John Doe
    )
)

Ответы на вопрос(3)

Ваш ответ на вопрос