Se aprli di matrici parli di array bidimensionali. ossia Array di array.

tipo

$array = array(
array( 1 , 2 , 3 ) ,
array( 1 , 2 , 3 ) ,
array( 1 , 2 , 3 )
)

Esempio di matrice 3x3.

Per questo ho impostato un controllo su data1 e data2 in forma di ciclo.
Se invece tu hai una struttura del tipo :

$array(
stringa,
stringa,
stringa
)


allora togli il ciclo innestato e fai uno str_cmp($data1,$data2)

inoltre abbassi anche lka complessita da quadratica a lineare.