Código PHP:
Ver original- $array_madre = Array('x', 'a', 'x', 'x','b', 'x', 'x', 'x', 'c', 'x', 'x', 'x', 'x', 'd', 'x', 'x'); 
- // imrpime El elemento X se repite 2 veces consecutivas 
Con la solución que yo dí, no falla y además que no cuenta los espacios en blanco.  
 Código PHP:
    
$array_madre1 = Array('x', 'a', 'x', 'x','b', 'x', 'x', 'x', 'c', 'x', 'x', 'x', 'x', 'd', 'x', 'x');
$array_madre2 = Array("oso","perro","león","gato","tigre","tigre","perro","perro","perro","león","oso","oso","oso","oso","","","","","","tigre","tigre","tigre","gato","elefante","gato","perro");
 
function contarValoresArray($array) 
{ 
    $contar=array(); 
  
    foreach($array as $value) 
    {     
    if(empty($value))
        continue;
        
        if(isset($contar[$value])) 
        { 
            // si ya existe, le añadimos uno 
            $contar[$value]+=1; 
        }else{ 
            // si no existe lo añadimos al array 
            $contar[$value]=1; 
        } 
    } 
    return $contar; 
} 
print_r(contarValoresArray($array_madre1));
print_r(contarValoresArray($array_madre2));