Esta funcion devuelve un array con todos los elementos repetidos dentro de un array especifico, y la cantidad de veces que cada elemento aparecio

La definicion es la siguiente

function repeatedElements($array)
 
{
    $repeated = array();
 
 
    foreach( (array)$array as $value )
    {
        $inArray = false;
 
        foreach( $repeated as $i => $rItem )
        {
            if( $rItem['value'] === $value )
            {
                $inArray = true;
                ++$repeated[$i]['count'];
            }
        }
 
        if( false === $inArray )
        {
            $i = count($repeated);
            $repeated[$i] = array();
            $repeated[$i]['value'] = $value;
            $repeated[$i]['count'] = 1;
        }
    }
 
 
    foreach( $repeated as $i => $rItem )
    {
        if($rItem['count'] === 1)
        {
            unset($repeated[$i]);
        }
    }
 
    sort($repeated);
 
    return $repeated;
 
}

Y la implementacion seria la siguiente por ejemplo

$arrayParaChequear = array("hola", "chau", "chau", "hola", 1, 5, 3, 1);
 
$repetidos = repeatedElements($arrayParaChequear);
 
print_r($repetidos);

Y la salida del ejemplo anterior seria la siguiente

Array
(
    [0] => Array
        (
            [value] => chau
            [count] => 2
        )
 
    [1] => Array
        (
            [value] => hola
            [count] => 2
        )
 
    [2] => Array
        (
            [value] => 1
            [count] => 2
        )
 
)

Como veran, es un array, cuyas claves son

‘value’, que contiene el valor que se repitio
‘count’ la cantidad de veces que aparecio

Espero que les sirva! :) Saludos!