jueves, 8 de septiembre de 2016

Unidad 3 Curso de PHP

Arrays
Un array (matriz) en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado para varios usos diferentes; puede ser usado como una matriz real, una lista (vector), tabla asociativa (caso particular de implementación de un mapa), diccionario, colección, pila, cola y probablemente más. Ya que los valores de un array pueden ser otros arrays, también es posible crear árboles y arrays multidimensionales.
Una explicación sobre tales estructuras de datos se encuentra por fuera del propósito de este manual, pero encontrará al menos un ejemplo de cada uno de ellos. Para más información, consulte la extensa literatura que existe sobre este amplio tema.
<?php
$arr 
= array("foo" => "bar"12 => true);

echo 
$arr["foo"]; // bar
echo $arr[12];    // 1
?>

<?php
$arr 
= array("somearray" => array(=> 513 => 9"a" => 42));

echo 
$arr["somearray"][6];    // 5
echo $arr["somearray"][13];   // 9
echo $arr["somearray"]["a"];  // 42
?>

<?php
         $a = array(
                  "manzana"  => array(
                            "color"  => "rojo",
                            "sabor"  => "dulce",
                            "forma"  => "redondeada"
                  ),
                  "naranja"  => array(
                            "color"  => "naranja",
                            "sabor"  => "ácido",
                            "forma"  => "redondeada"
                  ),
                  "plátano"  => array(
                            "color"  => "amarillo",
                            "sabor"  => "paste-y",
                            "forma"  => "aplatanada"
                  )
         );
         
         echo $a["manzana"]["sabor"];    # devolverá "dulce"
 ?>

OPERADORES

Aritméticos:

Ejemplo
Nombre
Resultado
$a + $b
Adición
Suma de $a y $b
$a - $b
Substracción
Diferencia entre $a y $b
$a * $b
Multiplicación
Producto de $a and $b
$a / $b
División
Cociente de $a entre $b
$a % $b
Módulo
Resto de $a dividido entre $b

Relacionales:

Ejemplo
Nombre
Resultado
$a == $b
Igualdad
Cierto si $a es igual a $b
$a === $b
Identidad
Cierto si $a es igual a $b y si son del mismo tipo (sólo PHP4)
$a != $b
Desigualdad
Cierto si $a no es igual a $b
$a < $b
Menor que
Cierto si $a es estrictamente menor que $b
$a > $b
Mayor que
Cierto si $a es estrictamente mayor que $b
$a <= $b
Menor o igual que
Cierto si $a es menor o igual que $b
$a >= $b
Mayor o igual que
Cierto si $a es mayor o igual que $b

Incremento/decremento:

Ejemplo
Nombre
Resultado
++$a
Preincremento
Incrementa $a en uno y después devuelve $a
$a++
Postincremento
Devuelve $a y después incrementa $a en uno
--$a
Predecremento
Decrementa $a en uno y después devuelve $a
$a--
Postdecremento
Devuelve $a y después decrementa $a en uno

Lógicos:

Ejemplo
Nombre
Resultado
$a and $b
Y
Cierto si tanto $a como $b son ciertos
$a or $b
O
Cierto si $a o $b son ciertos
$a xor $b
O exclusiva
Cierto si $a es cierto o $b es cierto, pero no ambos a la vez
! $a
Negación
Cierto si $a no es cierto
$a && $b
Y
Cierto si tanto $a como $b son ciertos
$a || $b
O
Cierto si $a o $b son ciertos.



ESTRUCTURAS DE CONTROL

if:

La construcción if es una de las más importantes características de muchos lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de código. PHP caracteriza una estructura if que es similar a la de C:

<?php
            if (expr)
                        sentencia
?>

else:

A menudo queremos ejecutar una sentencia si se cumple una cierta condición, y una sentencia distinta si la condición no se cumple. Esto es para lo que sirve else. else extiende una sentencia if para ejecutar una sentencia en caso de que la expresión en la sentencia if se evalúe como FALSE. Por ejemplo, el siguiente código mostraría a es mayor que b si $a fuera mayor que $b, y a NO es mayor que b en cualquier otro caso:

<?php
            if ($a > $b)
            {
                        print "a es mayor que b";
            }
             else
            {
                         print "a NO es mayor que b";
            }
?>


switch:

<?php
                if ($i == 0)
                {
                               print "i es igual a 0";
                }
                if ($i == 1)
                {
                               print "i es igual a 1";
                }
                if ($i == 2)
                {
                               print "i es igual a 2";
                }
?>

<?php
                switch ($i)
                 {
                               case 0:
                                               print "i es igual a 0";
                                               break;
                                case 1:
                                                print "i es igual a 1";
                                               break;
                                case 2:
                                                print "i es igual a 2";
                                               break;
                }
?>



while:

Los bucles while son los tipos de bucle más simples en PHP. Se comportan como su contrapartida en C. La forma básica de una sentencia while es:

<?php
            while (expr)
                        sentencia
?>
do while:

Los bucles do..while son muy similares a los bucles while, excepto que las condiciones se comprueban al final de cada iteración en vez de al principio. La principal diferencia frente a los bucles regulares while es que se garantiza la ejecución de la primera iteración de un bucle do..while (la condición se comprueba sólo al final de la iteración), mientras que puede no ser necesariamente ejecutada con un bucle while regular (la condición se comprueba al principio de cada iteración, si esta se evalúa como FALSE desde el principio la ejecución del bucle finalizará inmediatamente).

<?php
            do
            {
                        if ($i < 5)
                        {
                                   print "i no es lo suficientemente grande";
                                   break;
                        }
                        $i *= $factor;
                        if ($i < $minimum_limit)
                        {
                                   break;
                        }
                        print "i es correcto"; ...procesa i...
            }
            while(0); ?>
for:

Los bucles for son los bucles más complejos en PHP. Se comportan como su contrapartida en C. La sintaxis de un bucle for es:

<?php
            for (expr1; expr2; expr3)
                        sentencia
 ?>





foreach:

PHP4 (PHP3 no) incluye una construcción foreach, tal como perl y algunos otros lenguajes. Esto simplemente da un modo fácil de iterar sobre arrays. Hay dos sintaxis; la segunda es una extensión menor, pero útil de la primera:

Nota: Cuando foreach comienza su primera ejecución, el puntero interno a la lista (array) se reinicia automáticamente al primer elemento del array. Esto significa que no se necesita llamar a reset() antes de un bucle foreach.
Nota: Hay que tener en cuanta queforeach con una copia de la lista (array) especificada y no la lista en si, por ello el puntero de la lista no es modificado como en la construcción each.

<?php
             foreach(expresion_array as $value)
                        sentencia
            foreach(expresion_array as $key => $value)
                        sentencia
 ?>

break:

break escapa de la estructuras de control iterante (bucle) actuales for, while, o switch.

break accepta un parámetro opcional, el cual determina cuantas estructuras de control hay que escapar

<?php
            $arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
             while (list (, $val) = each ($arr))
             {
                         if ($val == 'stop')
                         {
                                   break; /* Tambien se puede escribir 'break 1;' here. */
                        }
                        echo "$val<br>\n";
            }
?>



continue:

continue se usa dentro de la estructura del bucle para saltar el resto de la iteración actual del bucle y continuar la ejecución al comienzo de la siguiente iteración.

continue accepta un parámetro opcional, el cual determina cuantos niveles (bluces) hay que saltar antes de continuar con la ejecución.

while (list($key,$value) = each($arr))
            {
                        if ($key % 2)
                        {
                                    // salta los miembros impares continue;
                        }
                        do_something_odd ($value);
            }
            $i = 0;
            while ($i++ < 5)
            {
                        echo "Outer<br>\n";
                        while (1)
                        {
                                   echo "  Middle<br>\n";
                                   while (1)
                                   {
                                               echo "  Inner<br>\n";
                                               continue 3;
                                   }
                                   echo "This never gets output.<br>\n";
                        }
                        echo "Neither does this.<br>\n";
            }

require y Include:

La sentencia require() se sustituye a sí misma con el archivo especificado, tal y como funciona la directiva #include de C.

Un punto importante sobre su funcionamiento es que cuando un archivo se incluye con include() o se requiere con require()), el intérprete sale del modo PHP y entra en modo HTML al principio del archivo referenciado, y vuelve de nuevo al modo PHP al final. Por esta razón, cualquier código dentro del archivo referenciado que debiera ser ejecutado como código PHP debe ser encerrado dentro de etiquetas válidas de comienzo y fin de PHP.

<?php
            require( “header.inc” );
?>
<?php
            include( “header.inc” ); ?>
FUNCIONES

Parámetros de las Funciones:

Pasar parámetros por referencia :

Por defecto, los parámetros de una función se pasan por valor (de manera que si cambias el valor del argumento dentro de la función, no se ve modificado fuera de ella). Si deseas permitir a una función modificar sus parámetros, debes pasarlos por referencia.

Si quieres que un parámetro de una función siempre se pase por referencia, puedes anteponer un ampersand (&) al nombre del parámetro en la definición de la función:

function add_some_extra(&$string)
{
            $string .= ' y algo más.';
}
 $str = 'Esto es una cadena, ';
add_some_extra($str);
echo $str;

function foo ($bar)
{
            $bar .= ' y algo más.';
}
$str = 'Esto es una cadena, ';
foo ($str);
echo $str;
foo (&$str);
echo $str;

Parámetros por defecto :

Una función puede definir valores por defecto para los parámetros escalares estilo C++:
El valor por defecto tiene que ser una expresión constante, y no una variable o miembro de una clase.

function makecoffee ($type = "cappucino")
{
            return "Hacer una taza de $type.\n";
}
echo makecoffee ();
echo makecoffee ("espresso");

Lista de longitud variable de parámetros :

PHP4 soporta las listas de longitud variable de parámetros en las funciones definidas por el usuario. Es realmente fácil, usando las funciones func_num_args(), func_get_arg(), y func_get_args().

No necesita de ninguna sintaxis especial, y las listas de parámetros pueden ser escritas en la llamada a la función y se comportarán de la manera esperada.

func_num_args

int func_num_args (void );

Devuelve el número de argumentos pasados a la función actual definida por el usuario.
func_num_args() generará un aviso si es llamada desde fuera de la definición de la función.

func_get_arg

int func_get_arg (int arg_num);

Devuelve el argumento que está en la posición arg_num en la lista de argumentos de una función definida por el usuario. Los argumentos de la función se cuentan comenzando por la posición cero. func_get_arg() generará un aviso si se llama desde fuera de la definición de la función.

Si arg_num es mayor que el número de argumentos pasados realmente, se generará un aviso y func_get_arg() devolverá FALSE.

func_get_args

int func_get_args (void );

Devuelve un array en el que cada elemento es el miembro correspondiente de la lista de argumentos de la función definida por el usuario actual. func_get_args() generará un aviso si es llamada desde fuera de la definición de la función.




No hay comentarios:

Publicar un comentario