lunes, 15 de mayo de 2017

CLASE NUMERO 9

Buenas practicas array PHP

Arrays comunes, índices numéricos En capítulos anteriores poníamos el ejemplo de un array 
llamado sentido que contenía los distintos sentidos del 
ser humano:

$sentido[1]="ver";
$sentido[2]="tocar";
$sentido[3]="oir";
$sentido[4]="gustar";
$sentido[5]="oler";

En este caso este array cataloga sus elementos, comúnmente llamados valores, por números. Los números del 1 al 5 son por lo tanto las claves y los sentidos ("tocar", "oir"...) 
son los valores asociados.

Arrays asociativos

Si lo deseamos, es posible emplear nombres (cadenas) para clasificar los elementos del array. Lo único que deberemos hacer es entrecomillar las llaves alfanuméricas y entonces 
tendremos un array asociativo:

$moneda["espana"]="Peseta";
$moneda["francia"]="Franco";
$moneda["usa"]="Dolar";
Otra forma de definir idénticamente este mismo array y que 
nos puede ayudar para la creación de arrays más complejos 
es la siguiente sintaxis:

<?
$moneda=array("espana"=> "Peseta","francia" => "Franco","usa" => "Dolar");
?>


Arrays multidimensionales

Una forma muy practica de almacenar datos es mediante la creación de arrays multidimensionales (tablas o matrices con más de una dimensión).

 Pongamos el ejemplo siguiente: 

Queremos almacenar dentro de una misma tabla el nombre, moneda y lengua hablada en cada país. Para hacerlo podemos emplear un array llamado país que vendrá definido por estas tres características (claves). Para crearlo, deberíamos escribir una expresión del mismo
 tipo que la vista anteriormente en la que meteremos una array dentro del otro. Este proceso de incluir una instruccion dentro de otra se llama anidar y es muy corriente en programación:

<?
$pais=array
(
"espana" =>array
   (
   "nombre"=>"España",
   "lengua"=>"Castellano",
   "moneda"=>"Peseta"
   ),
"francia" =>array
   (
   "nombre"=>"Francia",
   "lengua"=>"Francés",
   "moneda"=>"Franco"
   )
);
echo $pais["espana"]["moneda"] //Saca en pantalla: "Peseta"
?>






BUENAS PRACTICAS DE CONSTANTES PHP

Las constantes son elementos de PHP que guardan un valor fijo que no se puede modificar a lo largo del programa. Las constantes pueden ser definidas por el programa o estar predefinidas por el propio PHP o por algún módulo. Los nombres de las constantes siguen las mismas reglas que los nombres de las variables, pero sin el dólar ($) inicial. La costumbre es escribir los nombres de las constantes en mayúsculas.

En principio, se puede no utilizar constantes nunca, puesto que las constantes definidas por el programa podrían reemplazarse por variables. La ventaja de usar constantes y variables es que se puede distinguir a simple vista si a lo largo de un programa algo va a permanecer constante (si es una constante) o puede cambiar (si es una variable). 

El inconveniente de usar constantes es que las constantes no se sustituyen dentro de las cadenas y es necesario sacarlas fuera de las cadenas, haciendo el código un poco más incómodo de escribir y leer. Desde el punto de vista del rendimiento, la diferencia es inapreciable.


<?php
define("PI", 3.14);
define("pi", 3.141592);
print "<p>El valor de pi es " . PI . "</p>";
print "<p>El valor de pi es " . pi . "</p>";
?>
Las constantes deben ser declaradas en mayúsculas, y si son palabras compuestas llevarán linea baja, esto debe ser estándar para constantes generales y las de clase, por ejemplo “NOMBRE_EMPRESA”, “NUMERO_TELEFONICO”


<?php
define('COLOR', '#FFFFFF'); // Constantes generales
define('NOMBRE_COMPLETO', 'Jhon Doe');

class Pruebas
{
    const NUMERO = 10; // Constantes de clase
}
INF

La constante INF representa el infinito, es decir, cualquier 
número demasiado grande (positivo o negativo) para poderse 
guardar en una variable decimal.

PHP_INT_MAX

PHP_INT_MAX es el valor del mayor entero que se puede guardar 
en una variable de tipo entero.

<?php
$maximo = PHP_INT_MAX;
print "<p>El mayor entero que se puede guardar \n";
print "en una variable entera es $maximo</p>\n";
?>

PHP DOC

Es un estándar informal que sirve para comentar código PHP , pero está en proceso de ser formalizado.  Se permite que los generadores de documentos externos como phpDocumentor puedan crear la documentación  en buen formato y fácil de entender.

¿Cual es la diferencia entre i++ y ++i en PHP?

La diferencia es sencilla y se encuentra en la PRECEDENCIA DEL OPERADOR (lo cual es muy importante si estas haciendo asignaciones). 

Un ejemplo práctico: 

Supongamos que tenemos lo siguiente: 

i=5; // i vale 5 
j=5 // j vale 5 
a = i++ // a vale 5, i vale 6 
b = ++j // b vale 6, j vale 6 

¿Por qué a vale 5 y b vale 6? 

a = i++ , esto significa que PRIMERO ASIGNAMOS el valor de i a la variable a (por eso a=5) y LUEGO INCREMENTAMOS el valor de i (i=6) 

a=i++; 
significa: 
a=i; 
i++; 

b= ++j, esto significa que PRIMERO INCREMENTAMOS el valor de j (j=6) y LUEGO ASIGNAMOS EL VALOR INCREMENTADO de j a la variable b (por eso b=6) 

b=++j; 
significa; 
j++; 
b=j; 


En resumen: 

i++: primero asigno, luego incremento 
++i: primero incremento, luego asigno el valor incrementado 

Una nota importante es que si no haces asignación, es lo mismo i++ que ++i, por ejemplo. 

i=5; 
j=5; 

i++; // i vale 6 
++j; // j vale 6

No hay comentarios:

Publicar un comentario