Вообще если ты пишешь $arr[$elem], то стоит начать с чего-то более простого. А так решение может быть таким:
$unique = array();
foreach ($phone as $value) {
$key = $value['type'] . $value['number'];
if (!isset($unique[$key])) $unique[$key] = $value;
}
// при необходимости
$unique = array_values($unique);
Вариант с serialize, конечно, сработает, но только если порядок задания ключей массива будет всегда один и тот же. Ну и я почти уверен, что это мягко говоря не самое быстрое решение. Да и вообще какое-то оно странное... С функциональным подходом так лучше не перебарщивать)