Que tal el mio:
<?php
$cadena = "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso.";
$arrayVocales = array ('a','e','i','o','u'); // Array de Vocales
echo "Conteo de vocales en la cadena: ".$cadena."<br/>";
// Asignamos un Array con la cantidad de veces de cada caracter en la cadena pasada a minusculas
// para no repetir vocales.
$miArray = count_chars (strtolower($cadena),1);
foreach($miArray as $indiceNum => $veces){
$letra =chr($indiceNum); // chr asigna el valor ascii del indiceNum a letra
//in_Array busca en el arreglo(pajar) un valor(aguja) especifico.
// En este caso buscamos en $arrayVocales si coincide con la letra, si lo es, entonces tenemos una vocal.
if (in_Array($letra,$arrayVocales)){
echo "Vocal: ".$letra.", encontrada ".$veces."veces<br/>";
}
}
?>