En array av arrayer i datorprogrammering är en datastruktur som innehåller en annan array vid varje index. Detta betyder att datumet vid varje sekventiell adress i den översta nivån matrisen faktiskt är det första datumelementet i varje sub-array. I sin tur kan varje sub-array också vara en array av arrays, vilket möjliggör kapsling av arrays så djupt som behövs. Även om konceptet kan tyckas komplicerat, finns det faktiskt väldigt enkla deklarations- och avledningsbeteckningar som gör att en uppsättning matriser kan uttryckas mycket tydligt i ett program. En av de vanligaste användningsområdena för en array av arrayer är att lagra information i ett rutmönster, vilket kan vara fallet med en bild.
En array är en serie dataelement som, i de flesta programmeringsspråk, lagras i på varandra följande minnesplatser. Datumet som hålls i en array kallas ett element, och varje element upptar en position i arrayen som kallas ett index. Början av en array är index noll, nästa är index ett och så vidare. Istället för att innehålla heltal eller tecken, innehåller en array av arrayer en annan komplett array vid varje index. Dessa underarrayer vid varje index kan också själva innehålla arrayer, vilket ger möjlighet att skapa komplexa trädliknande strukturer av data efter behov.
En av de vanliga användningsområdena för en array av arrayer är att lagra information som kan indexeras från ett rutnät med kolumn- och radkoordinater. Detta kan användas för att representera data på ett kalkylblad, en tvådimensionell (2D) bild som ska visas på en skärm eller till och med ett schackbräde. Matriser av arrayer som är tre nivåer djupa, vilket betyder en array som innehåller arrayer som håller en tredje nivå av arrayer, kan användas för att representera information i en kub eller kan användas för att representera en matris av information där varje plats har mer än en attribut. I allmänhet används inte arrayer av arrayer som är djupare än tre nivåer, eftersom samma funktionalitet kan implementeras enklare genom att använda en array av strukturer eller klasser.
Programmeringsnotationen för en array av arrayer är mycket lättare att dechiffrera än man kan förvänta sig. De flesta programmeringsspråk använder parenteser för att beteckna indexet för en array, och en multidimensionell array är inte annorlunda, förutom att en extra uppsättning parenteser läggs till för att indexera underarrayen. Till exempel kan en enkeldimensionell array skrivas som ”array[ 2 ]” för att beteckna elementet vid den andra arrayindexplatsen. En array av arrayer skulle kunna skrivas på liknande sätt — array[ 2 ][ 1 ] — vilket indikerar datumelementet i det första indexet i den andra arrayen.