jueves, 16 de octubre de 2014

ARREGLOS Y MATRICES

CONCEPTO DE ARREGLO

Un array en PHP es realmente 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), una tabla asociativa (una implementación de un mapa), diccionario, colección, pila, cola, y posiblemente más. Ya que los valores de un array pueden ser otros arrays, árboles y también son posibles arrays multidimensionales.

SINTAXIS = array()

concepto de matrices

MATRICES O ARRAYS (ARREGLOS) DE DOS DIMENSIONES

Las matrices decimos que son arrays (arreglos) de dos dimensiones. También podemos verlas como tablas donde cada elemento tiene una fila y una columna. Para comprenderlas mejor podemos recordar las matrices matemáticas de 2 dimensiones. Un ejemplo de matriz en matemáticas podría ser esta:


OPERADORES Y TIPOS DE OPERADORES

QUE ES UN OPERADOR

Un operador es algo que toma uno más valores (o expresiones, en jerga de programación) y produce otro valor (de modo que la construcción en si misma se convierte en una expresión).

TIPOS DE OPERADORES

  • Operadores aritméticos

Ejemplo                  Nombre                  Resultado

-$a                       Negación                Opuesto de $a.
$a + $b                Adición                    Suma de $a y $b.
$a - $b                Sustracción              Diferencia de $a y $b.
$a * $b               Multiplicación            Producto de $a y $b.
$a / $b                  División                  Cociente de $a y $b.
$a % $b                 Módulo                   Resto de $a dividido por $b.
  • Operadores de asignación
El operador básico de asignación es "=". Se podría inclinar a pensar primero que es como un "igual a". No lo es. Realmente significa que el operando de la izquierda se establece con el valor de la expresión de la derecha (es decir, "se define como").

El valor de una expresión de asignación es el valor asignado. Es decir, el valor de "$a = 3" es de 3. Esto permite hacer algunas cosas intrincadas:
  • Operadores bit a bit
Los operadores bit a bit permiten la evaluación y la manipulación de bits específicos dentro de un integer.

Ejemplo               Nombre                                         Resultado

$a & $b                And (y)           Los bits que están activos en ambos $a y $b son activados.

$a | $b             Or (o inclusivo)         Los bits que están activos ya sea en $a o en $b son activados.

$a ^ $b           Xor (o exclusivo)      Los bits que están activos en $a o en $b, pero no en ambos, son activados.

~ $a                    Not (no)                       Los bits que están activos en $a son desactivados, y viceversa.

$a << $b        Shift left(desplazamiento a izquierda)      Desplaza los bits de $a, $b pasos a la izquierda (cada paso quiere decir "multiplicar por dos").

$a >> $b        Shift right (desplazamiento a derecha)     Desplaza los bits de $a, $b pasos a la derecha (cada paso quiere decir "dividir por dos").
  • Operadores de comparación
Los operadores de comparación, como su nombre lo indica, permiten comparar dos valores.

Ejemplo               Nombre                                      Resultado

$a == $b              Igual          TRUE si $a es igual a $b después de la manipulación de tipos.

$a === $b            Idéntico            TRUE si $a es igual a $b, y son del mismo tipo.

$a != $b               Diferente   TRUE si $a no es igual a $b después de la manipulación de tipos.

$a <> $b              Diferente    TRUE si $a no es igual a $b después de la manipulación de tipos.

$a !== $b             No idéntico        TRUE si $a no es igual a $b, o si no son del mismo tipo.

$a < $b                 Menor que                    TRUE si $a es estrictamente menor que $b.

$a > $b                  Mayor que                   TRUE si $a es estrictamente mayor que $b.

$a <= $b              Menor o igual que           TRUE si $a es menor o igual que $b.

$a >= $b              Mayor o igual que           TRUE si $a es mayor o igual que $b.

  • Operadores de control de errores
PHP soporta un operador de control de errores: el signo de arroba (@). Cuando se antepone a una expresión en PHP, cualquier mensaje de error que pueden ser generado por esa expresión será ignorado.

Si se ha establecido una función controladora de errores personalizada con set_error_handler() entonces todavía será llamada, pero este controlador de errores personalizado puede (y debe) llamar a error_reporting() el cual devolverá 0 cuando la llamada que provocó el error fue precedida por el signo @.
  • Operadores de ejecución
PHP soporta un operador de ejecución: las comillas invertidas (``). ¡Note que estas no son las comillas sencillas! PHP intentará ejecutar el contenido entre las comillas invertidas como si se tratara de un comando del shell; la salida será retornada (es decir, no será simplemente volcada como salida; puede ser asignada a una variable). El uso del operador de comillas invertidas es idéntico al de shell_exec().
  • Operadores de incremento y disminución 
PHP soporta operadores estilo C de pre- y post-incremento y disminución. 

Ejemplo                    Nombre                                             Efecto

++$a                 Pre-incremento Incrementa                   $a en uno, y luego retorna $a.

$a++                 Post-incremento                         Retorna $a, y luego incrementa $a en uno.

--$a                   Pre-disminución                             Disminuye $a en uno, luego retorna $a.

$a--                   Post-disminución                           Retorna $a, luego disminuye $a en uno.
  • Operadores lógicos
Ejemplo                        Nombre                                               Resultado

$a and $b                     And (y)                      TRUE si tanto $a como $b son TRUE.

$a or $b                   Or (o inclusivo)             TRUE si cualquiera de $a o $b es TRUE.

$a xor $b                Xor (o exclusivo)              TRUE si $a o $b es TRUE, pero no ambos.

! $a                                Not (no)                           TRUE si $a no es TRUE.

$a && $b                       And (y)                              TRUE si tanto $a como $b son TRUE.

$a || $b                       Or (o inclusivo)             TRUE si cualquiera de $a o $b es TRUE.
  • Operadores para strings
Existen dos operadores para datos tipo string. El primero es el operador de concatenación ('.'), el cual retorna el resultado de concatenar sus argumentos derecho e izquierdo. El segundo es el operador de asignación sobre concatenación ('.='), el cual añade el argumento del lado derecho al argumento en el lado izquierdo.
  • Operadores para arrays
Ejemplo                     Nombre                     Resultado

$a + $b                      Unión                    Unión de $a y $b.

$a == $b                 Igualdad              TRUE si $a i $b tienen las mismas parejas clave/valor.

$a === $b                Identidad            TRUE si $a y $b tienen las mismas parejas clave/valor en el mismo orden y de los mismos tipos.

$a != $b               Desigualdad           TRUE si $a no es igual a $b.

$a <> $b              Desigualdad            TRUE si $a no es igual a $b.

$a !== $b             No-identidad            TRUE si $a no es idéntica a $b.
  • Operadores de tipo
instanceof se utiliza para determinar si una variable de PHP es un objeto instanciado de una cierta clase:

miércoles, 8 de octubre de 2014

CONCEPTO E HISTORIA DE HTML

¿Que es HTML?

El HTML, Hyper Text Markup Language (Lenguaje de marcacion de Hipertexto) es el lenguaje de marcas de texto utilizado normalmente en la www (World Wide Web). Fue creado en 1986 por el físico nuclear Tim Berners-Lee; el cual tomo dos herramientas preexistentes: El concepto de Hipertexto (Conocido también como link o ancla) el cual permite conectar dos elementos entre si y el SGML (Lenguaje Estándar de Marcación General) el cual sirve para colocar etiquetas o marcas en un texto que indique como debe verse. HTML no es propiamente un lenguaje de programacion como C++, Visual Basic, etc., sino un sistema de etiquetas. HTML no presenta ningún compilador, por lo tanto algún error de sintaxis que se presente éste no lo detectará y se visualizara en la forma como éste lo entienda.

El entorno para trabajar HTML es simplemente un procesador de texto, como el que ofrecen los sistemas operativos Windows (Bloc de notas), Unix (el editor vi o ed) o el que ofrece MS Office (Word). El conjunto de etiquetas que se creen, se deben guardar con la extensión .htm o .html.


Estos documentos pueden ser mostrados por los visores o "browsers" de paginas Web en Internet, como Netscape Navigator, Mosaic, Opera y Microsoft Internet Explorer.
También existe el HTML Dinámico (DHTML), que es una mejora de Microsoft de la versión 4.0 de HTML que le permite crear efectos especiales como, por ejemplo, texto que vuela desde la página palabra por palabra o efectos de transición al estilo de anuncio publicitario giratorio entre página y página.


A continuación vamos a hablar un poco de historia:


Orígenes del HTML

1986. Publicación de la ISO 8879 que presenta el Standard General Markup Language, origen del HTML.

1989. Tim Berners-Lee, a la sazón en el Centro Europeo de Investigaciones Nucleares presenta su artículo Information Management: A Proposal dedicándose de lleno al desarrollo de un sistema que permitiera el acceso en línea de manera uniforme a la información disponible en muchos recursos distintos, y que pudiese funcionar en maquinas que conectadas por redes basadas en TCP/IP.

1990-1991. Tim Berners-Lee define el HTML como un subconjunto de SGML (Standard Generalized Markup Language), que más tarde se llamará nivel 0; soporta encabezados, listas y anclas. Se crea el nombre World Wide Web.


1991. Tim Berners-Lee introduce el primer visor de HTML, LineMode, que trabaja en modo texto y sólo en plataformas UNIX. El Centro Europeo de Investigaciones Nucleares realiza la apertura del primer sitio con acceso público de World Wide Web el 17 de mayo (http://info.cern.ch).


1992. Dan Connolly produce la primera Definición de Tipo de Documento (DTD) para el lenguaje, llamada HTML 1.0, agregando a la definición original atributos para modificar el estilo físico del texto. Se distribuye Viola, primer visor gráfico de Web y disponible sólo para X.11.


1993. Un nuevo visor que soporta un mayor nivel, Lynux, es producido por la universidad de Kansas, si bien lee sólo texto. Aparece Mosaic, desarrollado por el Centro Nacional para Aplicaciones de Supercomputadoras, es el primer visor de Web en entorno gráfico que se hace disponible para computadoras personales, lo que lo hace inmediatamente popular. A fines de año, comienzan a aparecer los primeros artículos sobre WWW en diarios y revistas de circulación masiva. Tim Berners-Lee utiliza el trabajo del año anterior de Connolly para presentar el borrador de la primera norma (RFC -Recommendation for Comments) de HTML para Internet.


1994. La Universidad Técnica de Graz desarrolla un servidor y clientes con mayores prestaciones para HTML, Hyper-G, que no tiene gran éxito. Cello, primer visor de HTML que no requiere TCP/IP presentado por la escuela de leyes de la Universidad de Cornell. Dan Connolly y Karen Olson Muldrow redefinen el HTML para el nivel 2.0, que ahora soporta formulario. Un grupo de programadores que desarrollaran el Mosaic producen un nuevo visor de World Wide Web, Netscape (también conocido como Mozilla), que tiene una amplia aceptación entre los usuarios, pero que soporta elementos de programación que equivalen a una degeneración del HTML (tamaños de letra, fondos). Se define un equivalente para los modelos en tres dimensiones del HTML, el VRML (Virtual Reality Modeling Language), que permite moverse dentro de los ambientes definidos. En este mismo año se realizan la Primera y Segunda internacionales de WWW, en Ginebra y Chicago, respectivamente. Se crea la W3 Organization.


1995. Dave S. Raggett (Hewlett-Packard, inglaterrra) comienza a compilar la normativa del nuevo nivel del lenguaje, el HTML 3.0, cuya principal novedad es el soporte de tablas. Microsoft produce su primer visor de Internet, el cual también utiliza elementos de HTML degenerados. Una nueva versión de Netscape, Navigator 2.0, agrega soporte de encuadres. Sun Microsystems produce el primer visor de World Wide Web con soporte de un lenguaje de programación, HotJava. Se celebran la Tercera y Cuarta conferencias internacionales de WWW, en Boston y Darmstadt respectivamente, y la conferencia de WWW para asia y el Pacífico en Wagga-Wagga.


1996. Netscape Communications y Microsoft presentan las nuevas versiones de sus visores que soportan gran parte del nivel de HTML 3.0. Aparecen visores no comerciales que implementan la norma completa de HTML 3.0. Se formaliza un nuevo nivel para la modelación en tres dimensiones, VRML 3.0, que permite interactuar con los objetos definidos. Se celebra la Quinta conferencia de WWW en Rocquencourt.


1997. D. Raggett presenta, en enero, la versión normalizada del 3.2. En julio, aparece la versión 4.0, experimental.


1998. HTML 4.0.



CONTROL DE FLUJO

¿Qué es controlar el flujo?

Es determinar el orden en el que se ejecutarán las instrucciones en nuestros programas. Si no existiesen las sentencias de control entonces los programas se ejecutarían de forma secuencial, empezarían por la primera instrucción e irían una a una hasta llegar a la última.

Pero, obviamente este panorama sería muy malo para el programador. Por un lado, en sus programas no existiría la posibilidad de elegir uno de entre varios caminos en función de ciertas condiciones (sentencias alternativas). Y por el otro, no podrían ejecutar algo repetidas veces, sin tener que escribir el código para cada una (sentencias repetitivas.)

Para estos dos problemas tenemos dos soluciones: las sentencias de control alternativas y las repetitivas. Estos dos conjuntos de sentencias forman en Pascal el grupo de las sentencias estructuradas. Y se les llama estructuradas porque a diferencia de las simples pueden contener en su cuerpo otras sentencias.

Las sentencias alternativas también son conocidas como sentencias selectivas porque permiten seleccionar uno de entre varios caminos por donde seguirá la ejecución del programa. En algunos casos esta selección viene determinada por la evaluación de una expresión lógica. Este tipo de sentencias se dividen en dos:
  • La sentencia if / else
  • La sentencia case of else

A las sentencias repetitivas se les conoce también como sentencias iterativas ya que permiten realizar algo varias veces (repetir, iterar). Dentro de ellas distinguimos tres:

CONCEPTO DE PROGRAMACIÓN PHP , VARIABLES, TIPOS DE DATOS Y CONSTANTE.

CONCEPTO DE PROGRAMACIÓN PHP


Es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Es uno de los primeros lenguajes de programación del lado del servidor que se puede incorporar directamente en el documento HTML, en lugar de llamar a un archivo externos q procese los datos. El código es interpretado por un servidor web con un modelo de procesador de PHP que genera la pagina web resultante. PHP a evolucionado por lo que ahora incluye también una interfaz de linea de comando que puede ser usada en aplicaciones gráficas independiente. Puede ser usado en la mayoría de los servidores web al igual en casi todos los sistemas operativos y plataformas sin ningún costo. 

Se considera uno de los lenguajes mas flexible, potente y de alto rendimiento conocido hasta el día de hoy. Lo que a traído el interés de múltiples sitios con gran demanda de trafico como FACEBOOK, para optar por PHP como tecnología de servidor.

Fue creado originalmente por RASMUS LERDORF en 1995, actualmente el lenguaje sigue siendo desarrollado con nuevas funciones con el grupo  PHP.

Fue reescrito y lanzado como version 2 en 1997 por Andi Gutmans y Zeev Suraski.
Fue reescrito en 1998 por Zeev y Andi, llamado  Zend engine.
En mayo del 2000 se libero la versión 4.0 que incluye " Zend engine"
En julio del 2009 fue posicionado el numero 4 por TIOBE INDEX.

DECLARACIÓN DE VARIABLE EN PHP

En php las variables se representas con un signo de dolar ($) seguido con el nombre de la variable, el nombre de la variable puedes escribirla en minúsculas o en mayúsculas

VARIABLES PREDEFINIDAS 

PHP proporciona una gran cantidad de variables predefinidas para todos los scripts. Las variables representan de todo, desde variables externas hasta variables de entorno incorporadas, desde los últimos mensajes de error hasta los últimos encabezados recuperados. y algunas de las variables predefinida son:


  •         Superglobals — Superglobals son variables internas que están disponibles siempre en todos los ámbitos
  •         $GLOBALS — Hace referencia a todas las variables disponibles en el ámbito global
  •         $_SERVER — Información del entorno del servidor y de ejecución
  •         $_GET — Variables HTTP GET
  •         $_POST — Variables HTTP POST
  •         $_FILES — Variables de Carga de Archivos HTTP
  •         $_REQUEST — Variables HTTP Request
  •         $_SESSION — Variables de sesión
  •         $_ENV — Variables de entorno
  •         $_COOKIE — Cookies HTTP
  •         $php_errormsg — El mensaje de error anterior
  •         $HTTP_RAW_POST_DATA — Datos POST sin tratar
  •         $http_response_header — Encabezados de respuesta HTTP
  •         $argc — El número de argumentos pasados a un script
  •         $argv — Array de argumentos pasados a un script
TIPOS DE DATOS

En php existen 8 tipos primitivos de datos 

Cuatro tipos escalares:
  •        Boolean = este tipo de dato es el más simple, un bolean expresa la verdad. Puede ser TRUE (VERDADERO) o FALSE (FALSO).
  •         Integer = Este tipo de representa a numero ENTEROS.
  •       Float =Este representa número de punto flotante, también conocido como DOUBLE.
  • String = Este representar cadenas de caracteres.
Dos tipos compuestos:

  •         Array = Este tipo de dato representa ARREGLOS.
  •         Object  = Este tipo de dato representa OBJETOS.


·     Y finalmente dos tipos especiales:

·        Resource = Este representa RECURSOS.
·        Null = Este representa algún valor NULO.

    CONSTANTE 

Las constantes se definen con la función define():

//Ver Ejemplo _Constantes.php
define(“SALUDO”, “Hola, mundo!”);
echo “La constante SALUDO vale ” . SALUDO;

Las constantes en PHP se diferencian de las variables en que:
  • No llevan el símbolo del dólar delante.
  • Puede accederse a ellas desde cualquier parte del código donde han sido definidas, sin restricciones de ámbito como en las variables.
  • No pueden ser re-definidas o borradas una vez definidas.
  • Sólo pueden contener valores escalares, no vectores.