php

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

15 horas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

1 semana hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

1 semana hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

1 semana hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

1 semana hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

1 semana hace

Esta web usa cookies.