<?php

$arrayTable = array(
   0 => array(
      'idApiUm' => 123,
      'title'  => 'Teste'
   ),
   1 => array (
      'idApiDois' => 765,
      'title'  => 'Título'
   ),
   2 => array(
      'idApiUm' => 632,
      'title'  => 'Nome'
   ),
   3 => array(
      'idApiDois' => 999,
      'title'  => 'Teste'
   ),
);

function get_items($array, $field)
{
    return array_unique(array_map(function($value) use ($field) { 
    		return $value[$field]; 
    	}, $array)
	);
}

function get_index($array, $field, $search) {
	return array_keys(
    		array_filter($array,
        			function ($value) use ($search, $field) {
            			return (strpos($value[$field], $search) !== false);
        			}
    		)
	);
}


$array_new = array();
foreach (get_items($arrayTable, 'title') as $value) 
{
	$array_index = get_index($arrayTable, 'title', $value);
	$array_index_item = array();
	foreach ($array_index as $i) 
	{
		if (count($array_index_item) == 0)
		{
			$array_index_item = $arrayTable[$i];
		}
		else
		{
			$array_index_item = array_merge($array_index_item, $arrayTable[$i]);
		}
	}
	$array_new[] = $array_index_item;
}

var_dump($array_new);