Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


Contar el número de vocales y consonantes de una cadena con PHP count_chars()

En este post vamos a ver cómo contar el número de vocales y consonantes de una cadena con PHP count_chars(), anteriormente publiqué un post parecido de como contar el número de palabras en una cadena con PHP.

Aunque la búsqueda sea parecida he creido conveniente usar la función PHP count_chars() en la primera demo, así voy expandiendo el número de funciones PHP sobre cadenas de las que hablo en el blog.

En la segunda combinaré dicha función con PHP preg_match(), de la cual ya hablé anteriormente.

Según la documentación oficial PHP count_chars():

Cuenta el número de apariciones de cada byte-value (0..255) en string y lo devuelve de varias maneras.

Sintaxis PHP count_chars()

Como podéis ver en la línea superior la sintaxis es bien sencilla, ahora os describo las variables que se pueden usar:

  • $mixed: La función devuelve varios tipos de formato de resultados dependiendo de la variable $mod.
  • $cadena: Cadena que contiene los caracteres a contar.
  • $resultado: Dependiendo de su valor la función nos devuelve un tipo de resultado:
    0 – Devuelve un array con el valor como clave y el número de coincidencias de cada caracter como valor.
    1 – Mismo formato que el valor ‘0’ pero solo devuelve las coincidencias de valor superior a 0.
    2 – Mismo formato que el valor ’0′ pero solo devuelve las coincidencias de valor igual a 0
    3 – El resultado es un string que contiene los caracteres únicos.
    4 – El resultado es un string que contiene los caracteres no utilizados.

Ejemplo para contar el número de vocales y consonantes de una cadena con PHP count_chars()

Os voy a poner un primer y sencillo ejemplo para contar de las volcales y consonantes usadas en una cadena:

Ahora os detallo el código paso a paso:

  • El el código fuente podéis ver como primero asigno a la variable $cadena una frase.
  • Después con recorro con un foreach() el array devuelto, este array contiene únicamente los caracteres con al menos una ocurrencia dentro de la cadena, es porque le pasamos el valor ‘1’. Podéis probar con el valor ‘0’, os saldría todos los caracteres y el número de ocurrencias en la cadena.
  • Termino sacando por pantalla el caracter ascii traducido por la función chr().

Ejemplo para contar el número total de vocales y consonantes de una cadena con PHP

El anterior ejemplo nos devuelve un recuento de caracteres uno por uno, con este nuevo ejemplo voy a contar el número total de vocales y consonantes en una cadena con PHP preg_match().

Os detallo el código a continuación:

  • Asigno a $cadena una frase e inicializo los contadores $vocales y $consonantes.
  • Recorro el array devuelto por count_chars().
  • Con la función PHP preg_match() y el delimitador ‘i’  (no diferenciar minúsculas y mayúsculas) uso la expresión regular [aeiouáéíóúü] para mirar si el caracter es una vocal.
  • En caso afirmativo le añado a la variable $vocales el número de ocurrencias de dicha vocal.
  • En caso negativo, doy por hecho que no es una vocal, así que miro que el caracter sea una letra del abecedario de la A a la Z. De esta manera nos libramos de los caracteres especiales (comas, interrogaciones, admiraciones…), y le sumo a la variable $consonantes el número de ocurrencias.
  • Por último saco por pantalla los valores de las 2 variables.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies