array_merge_recursive() voegt de elementen van twee of meer arrays samen zodat de waarden van de ene worden toegevoegd aan het einde van de andere. De functie geeft de resulterende array terug.
Als de input arrays dezelfde string keys hebben worden de waarden voor deze keys samengevoegd in een array, en dit wordt gedaan op recursieve wijze, zodat als een van de waarden zelf een array is, de functie ook deze zal samenvoegen met de corresponderende waarde in een andere array. Als echter de arrays dezelfde numerieke key hebben zal de latere waarde niet de originele waarde overschrijven, maar worden toegevoegd aan het einde van de array.
Zie ook array_merge().