0% encontró este documento útil (0 votos)
216 vistas13 páginas

Violent Python A Cookbook For Hackers Forensic Ana

Este documento describe los tipos de datos en PHP, incluyendo cadenas, enteros, números de punto flotante y arrays. Explica cómo se declaran y manipulan variables en PHP, así como funciones para trabajar con cadenas como strlen() y strpos(). También cubre temas como la conversión automática de tipos en PHP y las reglas de nomenclatura para variables.

Cargado por

Ariel Renyinski
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
216 vistas13 páginas

Violent Python A Cookbook For Hackers Forensic Ana

Este documento describe los tipos de datos en PHP, incluyendo cadenas, enteros, números de punto flotante y arrays. Explica cómo se declaran y manipulan variables en PHP, así como funciones para trabajar con cadenas como strlen() y strpos(). También cubre temas como la conversión automática de tipos en PHP y las reglas de nomenclatura para variables.

Cargado por

Ariel Renyinski
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Lenguaje de Programación Web

PHP – MYSQL – Módulo II

Módulo II:

El entorno PHP

Tipos de Datos en PHP


PHP soporta los siguientes tipos:
• array
• números en punto flotante
• entero
• objeto
• cadena
El tipo de una variable normalmente no lo indica el programador; en su lugar, lo
decide PHP en tiempo de ejecución dependiendo del contexto en el que se utilice
esa variable.
Si se quisiese obligar a que una variable se convierta a un tipo concreto, se podría
forzar la variable o usar la función settype() para ello.
Nótese que una variable se puede comportar de formas diferentes en ciertas
situaciones, dependiendo de qué tipo sea en ese momento. Para más información,
vea la sección Conversión de Tipos.

Enteros
Los enteros se puede especificar usando una de las siguientes sintaxis:
$a = 1234; # número decimal
$a = -123; # un número negativo
$a = 0123; # número octal (equivalente al 83 decimal)
$a = 0x12; # número hexadecimal (equivalente al 18 decimal)

Números en punto flotante


Los números en punto flotante ("double") se pueden especificar utilizando cualquiera
de las siguientes sintaxis:

$a = 1.234; $a = 1.2e3;

Cadenas
Las cadenas de caracteres se pueden especificar usando uno de dos tipos de
delimitadores.
Si la cadena está encerrada entre dobles comillas ("), las variables que estén dentro
de la cadena serán expandidas (sujetas a ciertas limitaciones de interpretación).
Como en C y en Perl, el carácter de barra invertida ("\") se puede usar para
especificar caracteres especiales:

-ISIV- Pág. 7
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Caracteres protegidos
secuencia significado
\n Nueva línea
\r Retorno de carro
\t Tabulación horizontal
\\ Barra invertida
\$ Signo del dólar
\" Comillas dobles
\[0-7]{1,3} la secuencia de caracteres que coincida con la expresión regular es
un carácter en notación octal.
\x[0-9A-Fa-f]{1,2} la secuencia de caracteres que coincida con la expresión regular es
un carácter en notación hexadecimal.

Se puede proteger cualquier otro carácter, pero se producirá una advertencia en el


nivel de depuración más alto.
La segunda forma de delimitar una cadena de caracteres usa el carácter de comilla
simple ("’"). Cuando una cadena va encerrada entre comillas simples, los únicos
caracteres de escape que serán comprendidos son "\\" y "\’". Esto es por convenio,
así que se pueden tener comillas simples y barras invertidas en una cadena entre
comillas simples. Las variables no se expandirán dentro de una cadena entre
comillas simples.
Otra forma de delimitar cadenas es usando la sintaxis de documento incrustado
("<<<"). Se debe proporcionar un identificador después de <<<, después la cadena,
y después el mismo identificador para cerrar el entrecomillado.
jemplo de entrecomillado de cadenas con sintaxis de documento incrustado

$str = <<<EOD
Ejemplo de cadena
Expandiendo múltiples líneas
usando sintaxis de documento incrustado.
EOD;
Nota: La sintaxis de documento incrustado fue añadida en PHP 4.

Las cadenas se pueden concatenar usando el operador ’.’ (punto). Nótese que el
operador ’+’ (suma) no sirve para esto. Por favor mire Operadores de cadena para
más información.
Se puede acceder a los caracteres dentro de una cadena tratándola como un array
de caracteres indexado numéricamente, usando una sintaxis similar a la de C. Vea
un ejemplo más abajo.

-ISIV- Pág. 8
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Algunos ejemplos de cadenas

<?php
/* Asignando una cadena. */
$str = "Esto es una cadena";
/* Añadiendo a la cadena. */
$str = $str . " con algo más de texto";
/* Otra forma de añadir, incluye un carácter de nueva línea protegido. */
$str .= " Y un carácter de nueva línea al final.\n";
/* Esta cadena terminará siendo ’<p>Número: 9</p>’ */
$num = 9;
$str = "<p>Número: $num</p>";
/* Esta será ’<p>Número: $num</p>’ */
$num = 9;
$str = ’<p>Número: $num</p>’;
/* Obtener el primer carácter de una cadena */
$str = ’Esto es una prueba.’;
$first = $str[0];
/* Obtener el último carácter de una cadena. */
$str = ’Esto es aún una prueba.’;
$last = $str[strlen($str)-1];
?>

Conversión de Cadenas
Cuando una cadena se evalúa como un valor numérico, el valor resultante y el tipo
se determinan como sigue.
La cadena se evaluará como un doble si contiene cualquiera de los caracteres ’.’, ’e’,
o ’E’. En caso contrario, se evaluará como un entero.
El valor viene dado por la porción inicial de la cadena. Si la cadena comienza con
datos de valor numérico, este será el valor usado. En caso contrario, el valor será 0
(cero). Los datos numéricos válidos son un signo opcional, seguido por uno o más
dígitos (que opcionalmente contengan un punto decimal), seguidos por un
exponente opcional. El exponente es una ’e’ o una ’E’ seguidos por uno o más
dígitos.
Cuando la primera expresión es una cadena, el tipo de la variable dependerá de la
segunda expresión.

$foo = 1 + "10.5"; // $foo es doble (11.5)


$foo = 1 + "-1.3e3"; // $foo es doble (-1299)
$foo = 1 + "bob-1.3e3"; // $foo es entero (1)
$foo = 1 + "bob3"; // $foo es entero (1)
$foo = 1 + "10 Cerditos"; // $foo es entero (11)
$foo = 1 + "10 Cerditos"; // $foo es entero (11)
$foo = "10.0 cerdos " + 1; // $foo es entero (11)
$foo = "10.0 cerdos " + 1.0; // $foo es double (11)
Para más información sobre esta conversión, mire en la página del manual de Unix
strtod(3).

-ISIV- Pág. 9
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Si quisiera probar cualquiera de los ejemplos de esta sección, puede cortar y pegar
los ejemplos e insertar
la siguiente línea para ver por sí mismo lo que va ocurriendo:
echo "\$foo==$foo; el tipo es " . gettype( $foo ) . "<br>\n";

Las variables en PHP


Las variables se utilizan para almacenar valores, como cadenas de texto, números o
matrices.
Cuando se declara una variable, que puede ser utilizado una y otra vez en el script.
Todas las variables en PHP comienzan con un símbolo de signo $.
La forma correcta de declarar una variable en PHP:

$var_nombre = valor;

Los nuevos programadores de PHP a menudo olvidan el signo $ al principio de la


variable. En ese caso, no funcionará.
Vamos a tratar de crear una variable que contiene una cadena y una variable que
contiene un número:

<?php
$txt="Hola Mundo!";
$x=16;
?>

PHP es un lenguaje sin tipos

En PHP, una variable no necesita ser declarada antes de agregar un valor a la


misma.
En el ejemplo anterior, se ve que usted no tiene que decirle a PHP que tipo de datos
es la variable.
PHP automáticamente convierte la variable con el tipo de datos correcto,
dependiendo de su valor.
En un lenguaje de programación fuertemente tipado, usted tiene que declarar (definir)
el tipo y nombre de la variable antes de usarla.
En PHP, la variable se declara de forma automática cuando se utiliza.

Reglas de nomenclatura para las variables


 Un nombre de variable debe comenzar con una letra o un subrayado "_"
 Un nombre de variable sólo puede contener caracteres alfanuméricos y
guiones bajos (az, AZ, 0-9 y _)
 Un nombre de variable no debe contener espacios. Si un nombre de variable
es más que una palabra, deben ser separados con un guión bajo
($ var_string), o con la capitalización ($ VarString)

-ISIV- Pág. 10
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Variables de cadena (String) en PHP


Las variables de cadena se utilizan para los valores que contengan caracteres.
En este capítulo vamos a ver las funciones más comunes y los operadores se
utilizan para manipular las cadenas en PHP.
Después de crear una cadena que se puede manipular. Una cadena se puede
utilizar directamente en una función o se puede almacenar en una variable.
A continuación, el script PHP asigna el texto "Hola Mundo" a una variable de cadena
denominada $ txt:

<?php
$txt="Hola Mundo";
echo $txt;
?>

La salida del código anterior será:

Hola Mundo

Ahora, vamos a tratar de utilizar algunas funciones de los diferentes operadores y de


manipular la cadena.

El operador de concatenación

Sólo hay un operador de cadenas en PHP.


El operador de concatenación (.) Se utiliza para poner dos valores de cadena juntos.
Para concatenar dos variables de cadena en conjunto, utilice el operador de
concatenación:

<?php
$txt1="Hola Mundo!";
$txt2="Que tengas un buen dia!";
echo $txt1 . " " . $txt2;
?>

La salida del código anterior será:

Hola Mundo! Que tengas un buen dia!

Si nos fijamos en el código anterior se ve que hemos utilizado el operador de


concatenación de dos veces. Esto es así porque hemos tenido que introducir una
tercera cadena (un carácter de espacio), para separar las dos cadenas.

-ISIV- Pág. 11
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

La función strlen ()

La función strlen () se utiliza para devolver la longitud de una cadena.


Vamos a encontrar la longitud de una cadena:

<?php
echo strlen("Hola Mundo!");
?>

La salida del código anterior será:

12

La longitud de una cadena se utiliza a menudo en los bucles u otras funciones,


cuando es importante saber cuando la cadena termina. (Es decir, en un bucle, nos
gustaría detener el bucle después de que el último carácter de la cadena).

El strpos () la función

La función strpos () se utiliza para buscar un personaje / texto dentro de una cadena.
Si se encuentra una coincidencia, esta función devolverá la posición del carácter de
la primera coincidencia. Si no se encuentra ninguna, devolverá FALSE.
Vamos a ver si podemos encontrar la cadena "mundo" en la cadena:

<?php
echo strpos("Hola Mundo!","Mundo");
?>

La salida del código anterior será:

La posición de la cadena "mundo" en el ejemplo anterior es 6. La razón de que es 6


(y no 7), es que la primera posición de carácter en la cadena es 0, 1 y no.

Ámbito de las Variables

El ámbito de una variable es el contexto dentro del que la variable está definida. La
mayor parte de las variables PHP sólo tienen un ámbito simple. Este ámbito simple
también abarca los ficheros incluidos y los requeridos. Por ejemplo:

$a = 1;
include "b.inc";

Aquí, la variable $a dentro del script incluido b.inc. De todas formas, dentro de las
funciones definidas por el usuario aparece un ámbito local a la función. Cualquier

-ISIV- Pág. 12
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

variable que se use dentro de una función está, por defecto, limitada al ámbito local
de la función.
Por ejemplo:
$a = 1; /* ámbito global */
Function Test () {
echo $a; /* referencia a una variable de ámbito local */
}
Test ();

Este script no producirá salida, ya que la orden echo utiliza una versión local de la
variable $a, a la que no se ha asignado ningún valor en su ámbito. Puede que usted
note que hay una pequeña diferencia con el lenguaje C, en el que las variables
globales están disponibles automáticamente dentro de la función a menos que sean
expresamente sobreescritas por una definición local. Esto puede causar algunos
problemas, ya que la gente puede cambiar variables globales inadvertidamente. En
PHP, las variables globales deben ser declaradas globales dentro de la función si
van a ser utilizadas dentro de dicha función. Veamos un ejemplo:

$a = 1;
$b = 2;
Function Sum () {
global $a, $b;
$b = $a + $b;
}
Sum ();
echo $b;
El script anterior producirá la salida "3". Al declarar $a y $b globales dentro de la
función, todas las referencias a tales variables se referirán a la versión global. No hay
límite al número de variables globales que se pueden manipular dentro de una
función.
Un segundo método para acceder a las variables desde un ámbito global es usando
el array $GLOBALS propio de PHP. El ejemplo anterior se puede reescribir así:
$a = 1;
$b = 2;
Function Sum () {
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}
Sum ();
echo $b;

El array $GLOBALS es un array asociativo con el nombre de la variable global como


clave y los contenidos de dicha variable como el valor del elemento del array.
Otra característica importante del ámbito de las variables es la variable static. Una
variable estática existe sólo en el ámbito local de la función, pero no pierde su valor
cuando la ejecución del programa abandona este ámbito. Consideremos el siguiente
ejemplo:

Function Test () {
$a = 0;
echo $a;
$a++;
}

-ISIV- Pág. 13
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Esta función tiene poca utilidad ya que cada vez que es llamada asigna a $a el valor
0 y representa un "0". La sentencia $a++, que incrementa la variable, no sirve para
nada, ya que en cuanto la función termina la variable $a desaparece. Para hacer una
función útil para contar, que no pierda la pista del valor actual del conteo, la variable
$a debe declararse como estática:

Function Test () {
static $a = 0;
echo $a;
$a++;
}

Ahora, cada vez que se llame a la función Test(), se representará el valor de $a y se


incrementará.
Las variables estáticas también proporcionan una forma de manejar funciones
recursivas. Una función recursiva es la que se llama a sí misma. Se debe tener
cuidado al escribir una función recursiva, ya que puede ocurrir que se llame a sí
misma indefinidamente. Hay que asegurarse de implementar una forma adecuada
de terminar la recursión. La siguiente función cuenta recursivamente hasta 10,
usando la variable estática $count para saber cuándo parar:

Function Test () {
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
Test ();
}
$count--;
}

-ISIV- Pág. 14
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Los operadores de PHP


En esta sección se enumeran los diferentes operadores utilizados en PHP.

Operadores aritméticos

Operador Descripción Ejemplo Resultado


+ Adición x=2 4
x2
- Sustracción x=2 3
5-x
* Multiplicación x=4 20
x*5
/ División 15/5 3
5.2 2.5
% Módulo (resto de 5% 2 1
división) 10% 8 2
10% 2 0
++ Incremento x=5 x=6
x++
- Disminuir x=5 x=4
x-

Operadores de asignación

Operador Ejemplo Es lo mismo que


= x=y x=y
+= x+=y x=x+y
-= x=y x = xy
*= x*=y x=x*y
/= x/=y x=x/y
.= x. = y x = xy
%= %x=y x = x% y

Operadores de comparación

Operador Descripción Ejemplo


== es igual a 5 == 8 devuelve false
!= no es igual 5! = 8 devuelve true
<> no es igual 5 <> 8 devuelve true
> es mayor que 5> 8 devuelve false
< es menor que 5 <8 devuelve true
>= es mayor que o igual a 5> = 8 devuelve false
<= es menor o igual a 5 <= 8 devuelve true

-ISIV- Pág. 15
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

Operadores lógicos

Operador Descripción Ejemplo


&& Y x=6
y=3

(X <10 && y> 1) devuelve true


|| O x=6
y=3

(X == 5 | | y == 5) devuelve false
! No x=6
y=3

! (X == y) devuelve true

Sentencias condicionales
Muy a menudo, al escribir el código, que desea llevar a cabo diferentes acciones
para diferentes decisiones.
Puede utilizar instrucciones condicionales en el código para hacer esto.

En PHP tenemos las instrucciones condicionales siguientes:

 if - utilizar esta sentencia para ejecutar código si una condición especificada


es verdadera
 si ... else - utilizar esta sentencia para ejecutar código si una condición es
verdadera y el código de otra, si la condición es falsa
 si ... elseif else .... - utilizar esta sentencia para seleccionar uno de varios
bloques de código que se ejecutará
 sentencia switch - utilizar esta sentencia para seleccionar uno de los muchos
bloques de código que se ejecutará

La sentencia if
Utilice la sentencia if para ejecutar un código si una condición especificada es
verdadera.

Sintaxis

if (condicion) codigo a ejecutar si la condicion es TRUE;

-ISIV- Pág. 16
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

El siguiente ejemplo producirá la salida "Buen fin de semana!" si hoy es viernes:

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri") echo "Buen fin de semana!";
?>

</body>
</html>

Tenga en cuenta que no hay otra cosa .. .. en esta sintaxis. El código se ejecuta
sólo si la condición especificada es verdadera .

La declaración de si ... más


Utilice la sentencia else si .... para ejecutar un código si una condición es verdadera
y otro código si una condición es falsa.

Sintaxis

if (condicion)
código a ejecutar si la condición es TRUE;
else
código a ejecutar si la condición es FALSE;

Ejemplo

El siguiente ejemplo producirá la salida "Buen fin de semana!" si hoy es viernes, de


lo contrario se producirá la salida "Buen dia!":

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri")
echo "Buen fin de semana!";
else
echo "Buen Dia!";
?>

</body>
</html>

Si más de una línea deben ser ejecutados si la condición es verdadero / falso, las
líneas deben estar encerrados entre llaves:

-ISIV- Pág. 17
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri")
{
echo "Hola!<br />";
echo "Buen fin de semana!";
echo "Nos vemos el lunes!";
}
?>

</body>
</html>

El si ... elseif .... otra declaración


Utilice el si .... elseif ... else para seleccionar uno de varios bloques de código que se
ejecutará.

Sintaxis

if (condicion)
codigo a ejecutar si la condicion es TRUE;
elseif (condicion)
codigo a ejecutar si la condicion es TRUE;
else
codigo a ejecutar si la condicion es FALSE1;

Ejemplo1

El siguiente ejemplo producirá la salida "Buen fin de semana!" si hoy es viernes, y


"Que tengas un buen domingo!" si hoy es domingo. De lo contrario, la salida de "Que
tengas un bien dia!":

<html>
<body>

<?php
$d=date("D");
if ($d=="Fri")
echo " Buen fin de semana!";
elseif ($d=="Sun")
echo " Que tengas un buen domingo!";
else
echo " Que tengas un buen dia!";
?>

</body>
</html>

-ISIV- Pág. 18
Lenguaje de Programación Web
PHP – MYSQL – Módulo II

La sentencia switch PHP


Utilice la sentencia switch para seleccionar uno de los muchos bloques de código
que se ejecutará.

Sintaxis
switch (n)
{
case label1:
código a ejecutar si n=label1;
break;
case label2:
código a ejecutar si n=label2;
break;
default:
código a ejecutar si n es diferente a label1 y label2;
}

Así es como funciona: En primer lugar tenemos una sola expresión n (con mayor
frecuencia una variable), que se evalúa una vez. El valor de la expresión se compara
entonces con los valores para cada caso en la estructura. Si existe una coincidencia,
el bloque de código asociado a ese caso se ejecuta. Utilice break para evitar que el
código se ejecute en el siguiente caso de forma automática. La declaración por
defecto se utiliza si no hay coincidencias.

Ejemplo

<html>
<body>

<?php
$x=1;
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>

</body>
</html>

-ISIV- Pág. 19

También podría gustarte