Los sitios web se pueden dividir en estáticos ydinámica. Después de dominar HTML y CSS, que permiten crear una hermosa tarjeta de presentación en Internet, muchas personas piensan en cómo crear un sitio web dinámico en PHP. Al mismo tiempo, el diseñador de maquetación debe tener en cuenta que ahora está comenzando a aprender programación web: los principios para trabajar con el sitio serán diferentes. Uno de los primeros problemas que enfrenta un principiante en PHP es trabajar con cadenas, leerlas y procesarlas.
Creación y salida de cadenas
Analizaremos la salida de la cadena a la pantalla usando el conocido constructo de lenguaje echo. El programador puede generar la línea de una vez:
echo "Esta es una nueva línea"
o primero cree una variable y luego muéstrela:
$ str = "Esta es una nueva línea";
echo $ str;
Si necesita mostrar varias líneas en una, entonces recurren a su concatenación:
echo "Esto". "Nuevo". " Línea";
o
$ str1 = "Esto";
$ str2 = "Nuevo";
$ str3 = "Cadena";
echo $ str1. $ str2. $ str3;
En el último caso, la pantalla mostrará Esta es una nueva línea... El espacio se puede agregar inmediatamente al llamar a echo:
echo $ str1. "". $ str2. "". $ str3;
En este caso, la pantalla mostrará: "Esta es una nueva línea". La concatenación es posible no solo al generar, sino también al crear una cadena:
$ str1 = "Esto";
$ str2 = "Nuevo";
$ str3 = "Cadena";
$ cadena = $ str1. "". $ str2. "". $ str3;
echo $ cadena;
Echo muestra letras latinas y cirílicas. Si una de las variables contenía un número, durante la concatenación, este número se convertirá en la cadena correspondiente:
$ i = 2;
$ suma = $ i + $ i; // ahora $ sum contiene el número 4
echo $ i. "+". $ i. "=". $ suma;
La pantalla mostrará: "2 + 2 = 4".
Símbolos de servicio
Digamos que una cadena se define usando comillas dobles ($ string = "Like this"). Entonces puedes usar secuencias de escape de forma segura:
- n realiza el avance de línea;
- r devuelve el símbolo de intercalación;
- "escapa a las comillas dobles:
- echo "Cadena con" comillas dobles "; // Cadena con comillas "dobles"
- $ protege al dólar;
- \ escapa de la barra invertida.
Hay muchas más secuencias, todas ellas se pueden encontrar en la documentación oficial de PHP.
Cómo encontrar la posición de la primera aparición de una subcadena
Digamos que tenemos una línea simple:
$ string = "Mi nombre es Yemelyan y tengo 27 años";
También tenemos dos líneas con nombres:
$ nombre = "Yemelyan";
$ otroNombre = "Katherin";
Necesitamos averiguar si la primera línea contieneestos dos nombres. La función strpos ($ str, $ search) se usa para esto. Devuelve la posición de la subcadena $ search buscada, si esta cadena está contenida en el $ str original. De lo contrario, la función devuelve el valor booleano falso. Por ejemplo, strpos ($ string, $ anotherName) devolverá falso y strpos ($ string, $ name) devolverá un número entero. El código será así (escribamos una variante cuando la posición se muestre en la pantalla):
$ string = "Mi nombre es Yemelyan y tengo 27 años";
$ nombre = "Yemelyan";
$ otroNombre = "Katherin";
echo strpos ($ cadena, $ otroNombre); // imprimirá falso
echo strpos ($ cadena, $ nombre); // muestra la posición de la primera aparición de la subcadena
Tenga en cuenta que la numeración de líneas comienza desde cero, es decir, en nuestro caso, la última línea dará como resultado el número 11 (los espacios también se cuentan).
Encontrar la posición de la última aparición de una subcadena y errores
Si la función strpos () devuelve la posición de la primera aparición, entonces su función strrpos () inversa busca la última aparición de la subcadena.
Aquí hay algunas trampas relacionadas coninicio de la numeración. Vale la pena considerar esto: en PHP, trabajar con cadenas puede complicarse por las limitaciones en las comparaciones. Por ejemplo, es mejor no utilizar el operador de comparación negado: strpos ($ str, $ search)! = False. En cualquier versión de PHP, es posible que los ejemplos con un equivalente de este tipo no funcionen correctamente, porque la numeración de líneas comienza desde cero y, en la interpretación lógica, 0 es falso. Esto también se aplica a la función strrpos ().
Cómo encontrar el número de apariciones de una subcadena
A menudo es necesario encontrar no la posición del primero ola última aparición de la subcadena en la cadena y su número total. Para hacer esto, use la función substr_count (), que procesa al menos dos variables: substr_count ($ str, $ search). Devuelve un número entero. Si es necesario reducir el área de búsqueda por cadena, se pasan dos variables más a la función: el principio y el final de la cadena, respectivamente. Es decir, la función en este caso se llama así: substr_count ($ str, $ search, $ start, $ end). La función buscará la subcadena $ search entre $ start y $ end de la cadena original $ str. Si no se encuentra la cadena, la función devolverá cero.
Cómo cambiar el caso de una cadena en PHP: ejemplos
El cambio de caso se usa a menudo paracomparaciones de cadenas y condicionales. Digamos que el usuario debe ingresar el nombre del dios supremo en la mitología escandinava. El programa tiene una opción "Uno", con la que se comparará la respuesta del usuario. Si el texto ingresado no coincide con el existente (por ejemplo, el usuario escribe "uno" o "UNO"), el programa devolverá falso en lugar de verdadero. Para evitar esto, se utiliza la función de cambio de caso. Esto se usa a menudo si un sitio PHP tiene etiquetas: en lugar de cientos de variantes de la palabra "personal" ("Personal", "personal", "PERSONAL", etc.), solo hay una etiqueta en minúsculas.
La función strtolower () cambia de mayúsculas a minúsculas.Digamos que hay una línea $ catName = "Fluffy". La función strtolower ($ catName) devolverá la cadena "fluffy". Puede cambiar entre mayúsculas y minúsculas usando la función strtoupper ().
Cómo encontrar la longitud de una cadena en PHP: trabajar con funciones
A menudo se requiere encontrar la longitud de una cuerda.Por ejemplo, en PHP, trabajar con cadenas de este tipo puede ser necesario para crear un bucle. Para buscar una cadena, se utiliza la función strlen (), que devuelve un número: el número de caracteres. No olvide que el último carácter tendrá el número strlen ($ str) -1, ya que la numeración comienza desde cero.
Obtener y reemplazar una subcadena en PHP: trabajar con cadenas
Recibir una subcadena se lleva a cabo mediante la funciónsubstr (), que puede tomar dos o tres argumentos: substr ($ str, $ start, $ end). Digamos que tenemos una cadena $ string = "Fluffy cat" y queremos obtener una subcadena del segundo al cuarto carácter. Dado que la numeración comienza desde cero, la variable con esta subcadena se verá así: $ newString = substr ($ string, 1, 4). Si ingresamos $ newString = substr ($ string, 1), obtenemos la subcadena del segundo carácter al último (es decir, "luffy"). Este código es idéntico al código de cadena completo usando strlen (): substr ($ string, 1, strlen ($ string)).
Para reemplazar una subcadena, use la funciónstr_replace (), que toma tres variables: str_replace ($ subStr, $ newSub, $ str). A diferencia de muchas funciones, str_replace () funciona correctamente con caracteres cirílicos y no tiene contraparte con prefijo. Ejemplo:
$ str = "¡Hoy hace mal tiempo!";
$ newStr = str_replace ("terrible", "maravilloso", $ str); // ¡Hoy hace un clima maravilloso!
Traducción de cadena a número
Para usar intval () y floatval ()es necesario que la cadena comience con números y se convertirán en un número. Si algún conjunto de letras viene después de los números, simplemente se ignoran. En el caso de que la cadena comience con letras, el uso de la función devolverá cero. Idealmente, la cadena debe contener solo números.
Convertir un número en una cadena
A menudo es necesario traducir números en cadenas.Digamos, si necesita tomar la mitad de un número y elevarlo al cuadrado (por ejemplo, verifique si la igualdad es verdadera: 88 x 88 + 33 x 33 = 8833). En este caso, se utiliza la función strval (), que devuelve una cadena con un número. Después de eso, puede realizar todas las demás acciones con la nueva cadena: cambiar, buscar una ocurrencia de subcadena y otras funciones. Si es necesario, la cadena se puede convertir nuevamente en un número de la manera ya descrita anteriormente.