PHP: contar letras de cadena e imprimir resultados

Hace unos días estaba en Facebook y alguien solicitó un ejercicio en PHP que decía algo así:

Crear el código necesario para contar las letras de una cadena en PHP e imprimir la letra seguido de las veces que aparece. Por ejemplo:

A=10

B=20

Hoy vengo a mostrar el código.

Contar letras de cadena en PHP

El ejercicio tenía sus requisitos y uno de ellos era no usar arreglos y otras funciones que no recuerdo, así que lo que hice fue crear una cadena con todas las letras del abecedario:

<?php
$letras = "abcdefghijklmnopqrstuvwxyz";
$letras .= strtoupper($letras);

Cuando ya tenía las letras, recorría la cadena y dentro de ese ciclo tenía otro ciclo que recorría al texto al cual se le contarían las letras:

<?php
for ($i = 0; $i < strlen($letras); $i++) {
    $letra = $letras[$i];
    $contador = 0;
    for ($x = 0; $x < strlen($texto); $x++) {
        $actual = $texto[$x];
        if ($actual === $letra) {
            // Letra encontrada :)
        }

    }
}

Como se puede ver, se inicia un contador en cada letra del abecedario, después se comprueba cuántas veces aparece y se aumenta un contador. Finalmente, si el contador es mayor a 0, se imprime la letra con su conteo.

Código completo para contar letras de string en PHP

El código con una demostración queda así:

<?php
/*

  ____          _____               _ _           _       
 |  _ \        |  __ \             (_) |         | |      
 | |_) |_   _  | |__) |_ _ _ __ _____| |__  _   _| |_ ___ 
 |  _ <| | | | |  ___/ _` | '__|_  / | '_ \| | | | __/ _ \
 | |_) | |_| | | |  | (_| | |   / /| | |_) | |_| | ||  __/
 |____/ \__, | |_|   \__,_|_|  /___|_|_.__/ \__, |\__\___|
         __/ |                               __/ |        
        |___/                               |___/         
    
    Blog:       https://parzibyte.me/blog
    Ayuda:      https://parzibyte.me/blog/contrataciones-ayuda/
    Contacto:   https://parzibyte.me/blog/contacto/
    
    Copyright (c) 2020 Luis Cabrera Benito
    Licenciado bajo la licencia MIT
    
    El texto de arriba debe ser incluido en cualquier redistribucion
*/ ?>
<?php

$texto = "Programar en PHP es realmente sencillo, como contar del 1 al 10";
echo "Contando letras de: '$texto'\n";
$letras = "abcdefghijklmnopqrstuvwxyz";
$letras .= strtoupper($letras);
for ($i = 0; $i < strlen($letras); $i++) {
    $letra = $letras[$i];
    $contador = 0;
    for ($x = 0; $x < strlen($texto); $x++) {
        $actual = $texto[$x];
        if ($actual === $letra) {
            $contador++;
        }

    }
    if ($contador > 0) {
        echo "$letra=";
        echo $contador;
        echo "\n";
    }
}

Y al ejecutar se ve así:

Contar letras de cadena en PHP – Ejercicio resuelto

Como lo dije, fue de acuerdo al ejercicio solicitado; si quieres algo más rápido podrías ver este ejemplo en Java usando hashmap.

Te invito a leer más sobre PHP en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *