puoi fare due cicli foreach, uno interno all'altro,
nel primo fissi un elemento,
nel secondo (interno), confronti l'elemento fissato con tutti gli altri presenti
ciao
a parte quello che ha detto marino51 di guardare se tra le funzioni native php c'è qualcuna che ti interessi, io userei preferibilmente il ciclo for evitando cosi al meglio di confrontare il dato con se stesso o due volte (es luca con marco e poi marco con luca)
ipotiziamo che tu voglia controllare la lunghezza dei nomi
PHP:
<?php
$data = array ("luca","marco","antonio","luigi");
$n=count($data);
for($k=0; $k<($n-1); $k++){
for($j=($k+1); $j<$n; $j++){
if(strlen($data[$k])==strlen($data[$j])){//se ti interessa il valore togli gli strlen
echo "<b>i nomi ".$data[$k]." e ".$data[$j]." sono lunghi uguali</b><br />";
}else{
echo "i nomi ".$data[$k]." e ".$data[$j]." hanno lunghezza diversa<br />";
}
}
}
?>
in questo modo confronti
1° giro) "luca" con "marco" poi con "antonio" e in ultimo con "luigi"
2° giro) "marco" con "antonio" e poi con "luigi"
3° giro) "antonio" con "luigi"
output
i nomi luca e marco hanno lunghezza diversa
i nomi luca e antonio hanno lunghezza diversa
i nomi luca e luigi hanno lunghezza diversa
i nomi marco e antonio hanno lunghezza diversa i nomi marco e luigi sono lunghi uguali
i nomi antonio e luigi hanno lunghezza diversa