Ejemplos funciones cadena

$a=2500.5;

echo $a;
echo "<hr>";
echo number_format($a,2,",",".");
echo "<hr>";
setlocale(LC_MONETARY, 'es_ES');
//echo money_format('%.2n', $a) . "\n";
//echo money_format('%.2n', $a);

$a="El \\título es
         \"El Quijote\"";
echo nl2br($a);
$ciudad="L'hospitalet";
echo "<hr>";
$a="El <b>PHP</b>      mola <i>mogollón</i>";
echo $a;
echo "<hr>";
echo htmlentities($a);
echo "<hr>";
echo strip_tags($a);
echo "<hr>";
$formato = "Hay %b monos en el %s, %x";
echo sprintf($formato, 14, 'árbol',100);

$password="Juan Pablo Fuentes";
echo "<hr>";
echo md5($password);
$password="cacahuete";
echo "<hr>";
echo md5($password);

$cadena="hola";
for($i=0;$i<10;$i++){
    echo $cadena.$i."<br>";
    echo md5($cadena.$i)."<br>";
    
}

echo "<hr>";

echo levenshtein("hola que tal", "ola que tal");
echo "<hr>";

echo levenshtein("cacahuete", "ola que tal");

Ejercicios cadenas

1.- Una función que devuelva true si la cadena que le pasamos empieza y acaba con la misma letra, independientemente de mayúsculas y minúsculas. Ejemplo iniciofin(“hola”)->false iniciofin(“alubia”)->true iniciofin(“Alava”)->true;
2.- Una función que nos ponga una cadena en minúsculas y la primera y última letra en mayúsculas. Ejemplo: flupper(“HOLA”)->”HolA” flupper(“cacahauete”)->”CacahuetE”
3.- Una función que nos quite los dos primeros caracteres de una cadena. recortar(“En un lugar de la mancha”)->” un lugar de la mancha”
4.- Una función que nos devuelva el centro de una cadena. El centro es, si la longitud de la cadena es impar, la letra que está en el medio. Si la longitud de la cadena es par, las dos letras del medio. centro(“mar”)->”a” centro(“casa”)->”as”;
5.- Rehacer la función contarVocales usando substr_count
6.- Crear una función repetirPad que le pasemos una cadena, una longitud y nos devuelva una cadena repetida tantas veces como haga falta para alcanzar longitud (pero sin pasarse) y después, si todavía falta para llegar a longitud, lo rellene con ‘#’. Veamos ejemplos:
repetirPad(“hola”,10)->”holahola##”
repetirPad(“adios”,18)->”adiosadiosadios###”

Funciones de string en PHP categorizadas

Mayúsculas/Minúsculas (5)

  • ucfirst — Convierte el primer caracter de una cadena a mayúsculas
  • ucwords — Convierte a mayúsculas el primer caracter de cada palabra de una cadena
  • lcfirst — Pasa a minúscula el primer caracter de un string
  • strtolower — Convierte una cadena a minúsculas
  • strtoupper — Convierte un string a mayúsculas

Limpiar cadena (4)

  • trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
  • ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string
  • rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string
  • chop — Alias de rtrim

Convertir en array (7)

  • explode — Divide un string en varios string
  • str_split — Convierte un string en un array
  • implode — Une elementos de un array en un string
  • join — Alias de implode
  • strtok — Tokeniza string
  • chunk_split — Divide una cadena en trozos más pequeños
  • str_getcsv — Convierte un string con formato CSV a un array

Buscar cadenas (10)

  • strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
  • strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrpos — Encuentra la posición de la última aparición de un substring en un string
  • stripos — Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
  • strstr — Encuentra la primera aparición de un string
  • stristr — strstr insensible a mayúsculas y minúsculas
  • strchr — Alias de strstr
  • strrchr — Encuentra la última aparición de un caracter en un string
  • strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
  • strspn — Averigua la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

Funciones de información y manipulación de cadenas (14)

  • strlen — Obtiene la longitud de un string
  • str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace
  • str_pad — Rellena un string hasta una longitud determinada con otro string
  • str_repeat — Repite un string
  • str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
  • str_shuffle — Reordena aleatoriamente una cadena
  • strrev — Invierte una string
  • substr_count — Cuenta el número de apariciones del substring
  • substr_replace — Reemplaza el texto dentro de una porción de un string
  • substr — Devuelve parte de una cadena
  • chr — Devuelve un caracter específico
  • ord — devuelve el valor ASCII de un caracter
  • strtr — Convierte caracteres o reemplaza substrings
  • wordwrap — Ajusta un string hasta un número dado de caracteres

Contar y formatos (7)

  • count_chars — Devuelve información sobre los caracteres usados en una cadena
  • localeconv — Obtener información sobre el formato numérico
  • money_format — Da formato a un número como un string de moneda
  • nl_langinfo — Consulta información sobre el idioma y la configuración regional
  • number_format — Formatear un número con los millares agrupados
  • str_word_count — Devuelve información sobre las palabras utilizadas en un string
  • setlocale — Establecer la información del localismo

Escapar/convertir cadenas (13)

  • addcslashes — Escapa una cadena al estilo de C
  • addslashes — Escapa un string con barras invertidas
  • html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes
  • htmlentities — Convierte todos los caracteres aplicables a entidades HTML
  • htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres
  • htmlspecialchars — Convierte caracteres especiales en entidades HTML
  • get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
  • stripslashes — Quita las barras de un string con comillas escapadas
  • strip_tags — Retira las etiquetas HTML y PHP de un string
  • stripcslashes — Desmarca la cadena marcada con addcslashes
  • nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
  • quotemeta — Escapa meta caracteres
  • parse_str — Convierte el string en variables

Mostrar por pantalla u otros dispositivos (9)

  • echo — Muestra una o más cadenas
  • fprintf — Escribir una cadena con formato a una secuencia
  • print — Mostrar una cadena
  • printf — Imprimir una cadena con formato
  • sprintf — Devuelve un string formateado
  • vfprintf — Escribe un string con formato en un flujo
  • vprintf — Muestra una cadena con formato
  • vsprintf — Devuelve una cadena con formato
  • sscanf — Interpreta un string de entrada de acuerdo con un formato

Funciones de encriptación (9)

  • crc32 — Calcula el polinomio crc32 de una cadena
  • crypt — Hash de cadenas de un sólo sentido
  • md5_file — Calcula el resumen criptográfico md5 de un archivo dado
  • md5 — Calcula el ‘hash’ md5 de un string
  • sha1_file — Calcula el hash sha1 de un archivo
  • sha1 — Calcula el ‘hash’ sha1 de un string
  • str_rot13 — Realizar la transformación rot13 sobre una cadena
  • convert_uudecode — Descodifica una cadena codificada mediante uuencode
  • convert_uuencode — Codificar mediante uuencode una cadena

Similaridad de cadenas (4)

  • levenshtein — Cálculo de la distancia Levenshtein entre dos strings
  • similar_text — Calcula la similitud entre dos strings
  • soundex — Calcula la clave soundex de un string
  • metaphone — Calcula la clave metaphone de un string

Comparación de cadenas (9)

  • strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
  • strcmp — Comparación de string segura a nivel binario
  • strcoll — Comparación de cadenas basada en la localidad
  • strcspn — Averiguar la longitud del segmento inicial que no coincida con una máscara
  • strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de “orden natural”
  • strnatcmp — Comparación de strings utilizando un algoritmo de “orden natural”
  • strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
  • strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings
  • substr_compare — Comparación segura a nivel binario de dos o más strings desde un índice hasta una longitud de caracteres dada

Otros alfabetos y hexadecimal (7)

  • hex2bin — Decodifica una cadena binaria codificada hexadecimalmente
  • bin2hex — Convierte datos binarios en su representación hexadecimal
  • hebrev — Convierte texto hebreo lógico a texto visual
  • hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
  • convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
  • quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits
  • quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable

Tablero de ajedrez


$tamany = 8;
echo "<table border=1>";
for ($i = 0; $i < $tamany; $i++) {
    echo "<tr>";
    for ($j = 0; $j < $tamany; $j++) {
        if (($i + $j) % 2 == 0) {
            echo "<td style='background-color:black;width:20px;height:20px'></td>";
        } else {
            echo "<td style='width:20px;height:20px'></td>";
        }
    }
    echo "</tr>";
}
echo "</table>";

Ejercicios for

1.- Hacer un ejercicio que nos muestre los 10 primeros números y sus cuadrados.

2.- Hacer un ejercicio que nos pida un número y nos imprima tantas líneas ‘*****’ como el número.

3.- Hacer un ejercicio que nos pida un número y nos imprima una cadena con tantos ‘*’ como nos hayan puesto

4.- ¿Es posible combinar los dos ejercicios anteriores para que nos cree un cuadrado de asteriscos con el número que nos pasan?

5.- Hacer una página que nos pida un número y nos diga la suma desde al 1 hasta ese número. Ejemplo: 5 ->1+2+3+4+5 = 15

6.- Lo mismo que el anterior pero que por un lado nos sume los pares y por el otro los impares.

7.- Hacer una página que nos pida una cadena y un número y nos muestre una lista de html con esa cadena repetida número veces y con el número al lado. Ejemplo cadena: ‘Ana’ número: 3 devolvería:

  • Ana 1
  • Ana 2
  • Ana 3

8.- Crear una página que nos pida un número y nos cree una tabla cuadrada con ancho y alto el número que nos han pedido.

9.- Lo mismo que el anterior pero que cada celda tenga un número consecutivo.

10. Lo mismo que el 8 pero en plan tablero de ajedrez, casillas blancas y negras alternas.

Ejercicios while

1.- Hacer con while un programa que nos mueste los 10 primeros números y sus cuadrados ($num**2)

2.- Hacer un programa que nos muestre los números y sus cuadrados mientras el cuadrado sea menor que 100

3.- Hacer una página que nos pida una potencia y una cantidad y nos muestre los números, su potencia, mientras la potencia sea menor que la cantidad. Veamos un ejemplo:

Potencia: 3

Cantidad: 100

Nos debería mostrar:

1-1

2-8

3-27

4-64

4.- Hacer una página que nos pida una cadena y una longitud y nos muestre la cadena repetida mientras la longitud sea menor o igualque la que nos han dado. Ejemplo: cadena: ‘hola’ longitud: 20 Debería mostrar: ‘holaholaholaholahola’

5.- Crear una página que nos pida una cadena y una longitud y si la longitud de la cadena es menor que la longitud la rellene con ‘*’. Ejemplos: cadena:’cacahuete’ longitud: 5 nos imprime cacahuete. cadena:’hola’ longitud 7 nos imprime ‘hola***’

6.- Este sólo para los más atrevidos:

Hay una conjetura matemática que dice que lo siguiente:

Sea la siguiente operación, aplicable a cualquier número entero positivo:

  • Si el número es par, se divide entre 2.
  • Si el número es impar, se multiplica por 3 y se suma 1.

Al final siempre obtenemos uno.

Ejemplo:  13, 40, 20, 10, 5, 16, 8, 4, 2, 1.

Crear un bucle que, partiendo de una variable a con un valor cualquiera, vaya haciendo los pasos (y mostrándolos por consola) y que acabe cuando valga uno.

Ejercicios PHP estructuras de control

Uso de if:

1.- Crear una pantalla que nos pida un número y nos diga si es múltiplo de 3

2.- Crear una pantalla que nos pida tres números y nos diga cual es el mayor

3.- Crear una pantalla que nos pida una edad y nos devuelva el precio de una entrada al museo acorde a los siguientes datos: Niños menores de 10 años, gratis. Jóvenes menores de 25 años, 10€. Entrada general, 15€. Jubilados (>=65 años) 6€

4.- Queremos controlar la entrada a una atracción del parque. Se pueden subir los mayores de 10 años o los que midan más de 120 cm. Crear una página que pida la edad y la altura y nos diga si se puede subir o no.

5.- En el ejercicio anterior añadir un checkbox ‘Acompañado’ que si está marcado permite subir a la atracción si la edad es mayor de 6 años, no importa la altura.

6.- Queremos calcular la comisión de un vendedor. La comisión es el importe de las ventas más un porcentaje que va en función de la cantidad de ventas. Si ha vendido menos de 10.000 € es un 5%, entre 10.000 y 20.000 un 8%, entre 20.000 y 40.000 un 10% y más de 40.000 un 13%

Uso de switch:

1.- Crear una página que nos pida el número de hijos y nos devuelva la siguiente información: Si no tiene hijos ‘No tiene derecho a descuento’. Si tiene 1 o 2 hijos: ‘Tendrá un descuento en la siguiente compra’. Si tiene 3 o 4 hijos: ‘Descuento de familia numerosa en todas sus compras’. Si tiene más de 4 hijos: ‘La segunda compra gratis’

2.- Crear una página que nos muestre un ‘select’ con las siguientes opciones: ‘Recoger en tienda’, ‘Envío express’ y ‘Envío normal’. Si selecciona la primera opción que nos muestre un precio de 0€, para la segunda opción 7€ y para la tercera opción 3€

3.- Crear una página con un select con las siguientes opciones ‘Ramo normal’, ‘Ramo grande’, ‘Ramo gigante’,’Ramo superromántico’. Debe mostrar los siguientes mensajes: ‘Precio 10€’, ‘Precio 20 €’,’Precio 40€, su pareja estará muy feliz’,’Precio 70€, su pareja es muy afortunada’