Más sobre las matrices en PHP: tipos de arrays

[Matrices en PHP II]

Valencia, 17/03/2011, G.B.
Ya hemos hablado sobre las matrices en PHP pero de una forma muy general. Con las matrices realmente podemos hacer muchas cosas, que ya iremos viendo y descubriendo (yo me incluyo).

Ahora lo que vamos a ver son los distintos tipos de matrices. He basado este post en un tutorial de Webtaller.com. En los ‘créditos’, al final de este post, adjunto el enlace.  Otro interesante enlace al respecto es el siguiente: www.php-es.com/language.types.array.html. Ahora, vamos ‘al tajo’.

Podemos diferenciar entre los dos tipos de matrices existentes:

- Indexada: Son las matrices cuyo acceso a los elementos se realiza por la posición que ocupan dentro de la estructura (empezando siempre desde el cero). Ejemplo: $tipos_matrices[0]
- Asociativa: Matriz en la que los elementos están formados por pares clave-valor y el acceso se realiza proporcionando una determinada clave. Ejemplo: $tipos_matrices['asociativa']


Lee el resto de esta entrada »

Retomo Aprendiendo PHP en breve…

Valencia, 17/03/2012, G.B.
Tras una pausa, larga, larga, muy larga, he decidido retomar este blog, Aprendiendo PHP. La verdad es que no ha sido mi intención dejarlo, pero las circunstancias ha mandado. Pero creo que ya es el momento de volver a este proyecto personal que me hace mucha ilusión, aunque no me dé más que eso, ilusión…; bueno, aprender es algo que siempre me ha gustado, que siempre he buscado y que sigo buscando. No creo en las cosas acabadas, porque, como su propio atributo indica, están finiquitadas y no pueden continuar.

Este proyecto es, desde su inicio, algo inacabado, algo que tiene que continuar para poder darle sentido. Esa es mi intención. Por todo ello, y porque me apetece, en unos días -tal vez menos- volveré a ‘la carga’ con Aprendiendo PHP.  Porque lo importante es aprender, continuar, seguir en el camino, a pesar de las dificultades, a pesar del desánimo que muchas veces, con o sin razón, nos embarga. Desde aquí me animo a mi mismo a seguir en la brecha.

Muchas gracias por vuestro interés y paciencia.

Un saludo,

Guillermo

Introducción al archivo .htaccess

Sí, sí, ya sé que me falta el ejemplo de las matrices o arrays en PHP, y que sólo las he introducido. Permitidme esta licencia…

Valencia, 06/12/2011, G.B.
Voy a cambiar de categoría, más que nada para avanzar un poquito en temas  que considero muy importantes y útiles,  sobre todo si tienes un hosting basado en el servidor Apache. Todos los hosting Linux lo tienen, Por ello .y porque me apetece, cierto es- voy a hablar un poco sobre el archivo de configuración del popular servidor de código libre: el archivo .htacces. Veamos lo que nos cuenta la Wikipedia del mismo:

Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache. Fuente: Wikipedia

El archivo .htaccess es un ‘simple’ archivo de texto plano, sin extensión y oculto. Lo importante es que contiene una serie de directivas para el servidor web Apache, en donde está alojado tu proyecto. Así, el servidor web ‘sabrá qué hacer’ ante determinados ‘escenarios’ o circunstancias. Por ejemplo, se usa para restringir el acceso a carpetas, personalizar páginas de errores, redirigir sitios, URL rewriting…


Lee el resto de esta entrada »

Matrices en PHP (I)

Ya casi ni me acuerdo de lo que es PHP, tras más de un mes sin ‘tocar’ este blog. Circunstancias, circunstancias, malditas circunstancias…

Valencia, 27/11/2011, G.B.
Hace algún tiempo os comentaba que el próximo post iba a ser sobre las matrices en PHP, un tipo de variables muy importante en programación. Bien, ha llegado el momento. Allá voy.

Una matriz es un tipo de variable que representa a un conjunto de datos a los cuales se puede acceder indivudualmente a través de su índice u ordenación.  Su nomenclatura oficial es array. Así, los arrays nos permiten asignar más de un valor a una sola variable para luego recuperar cualquiera de sus valores a través de su ordenación o índice. Resaltar que el primer elemento de una matriz o array es el cero (0), a no ser que indiquemos lo contrario.

Bueno, tras esta descripción bastante teórica, vamos a empezar a ilustrar el concepto con un ejemplo. Imaginemos que queremos guardar en variables el número de libros que hemos leído durante el pasado año, si somos buenos lectores, claro:

<?php
$libros_enero = 1; // poco, has leído poco, amiguito
$libros_febrero = 2; // el doble que el mes anterior, no está mal
$libros_marzo = 4; // Otra vez el doble. Muy bien!
$libros_abril = 5; // Aumentamos pero ñlo que no puede ser, no puede ser
$libros_mayo = 6; // Idem del mes anterior
$libros_junio = 7; // Bien, seguimos creciendo en sabiduría…
$libros_julio = 1; // Uy, aquí hemos caído. ‘Back to square one’
?> 

Una vez declaradas todas las variables, podríamos utilizar el siguiente código para recuperar los valores de cada una de ellas. Vamos a utilizar primero las cadenas de bloque que ya hemos visto:

<?php
echo <<< LIBROS

Número de libros que he leído:
– En enero: $libros_enero <br />
– En febrero $libros_febrero <br />
– En marzo $libros_marzo <br />
- etc., etc… <br />
LIBROS;
?> 

El resultado será el siguiente texto:

- En enero: 1
- En febrero: 2
- En Marzo: 4
- etc., etc…


Lee el resto de esta entrada »

En el aire: un directorio de enlaces sobre PHP y ‘el rincón de gatsukito’

Valencia, 23/10/2011, G.B.
Bueno, como podréis observar, no he cumplido mi promesa y ese blog ha quedado bastante abandonado. Aparentemente no tengo excusas, pero os puedo asegurar que sí las hay, mejor dicho, en plural: las hay… Pero eso es ‘harina de otro costal’. De todas formas, eso no implica que no pueda darle un poco de ‘aire’ a este blog, Aprendiendo PHP, mientras solvento unos cuantos asuntillos pendientes. Eso casi ha sonado a ‘mafioso’, pero no lo es, os lo aseguro también.

Y ahora al grano: ese ¡aire’ que os anuncio es la creación de un directorio de enlaces propiamente dicho sobre recursos para PHP y una nueva sección que muy probablemente llevará mi compadre gatsu, el cual ya colabora conmigo de vez en cuando en Knowhow, aunque no tan habitualmente como quisiéramos ambos, por motivos obvios de tiempo. Bien, esa nueva sección se denominará ‘El rincón de gatsukito‘ y tratará sobre temas concretos de PHP, saltando la rigidez que yo me he auto-impuesto en este blog: empezar desde el principio. Así, los lectores de este abandonado blog dispondrán de material fresco que no sea dependiente d ela ‘cronología’ u hoja de ruta de Aprendiendo PHP. Casi pudiéramos decir que será un blog dentro de un blog, algo que siempre me ha gustado, debo reconocer…

Ahora queda concretar tiempos y disponer de los mismos, pero casi puedo aseguraros que la idea ya está en marcha, ahora sólo hay que ‘cuajarla’. Y aquí dejo esta breve nota, casi justificación. Buenas noches.

P.D. Se me olvidaba: el próximo post sí que será sobre las matrices en PHP. Prometido!

Funciones en PHP (I): una introducción

Ante todo pediros disculpas por no haber podido actualizar este blog en casi dos semanas. No tengo excusa, la única es que son demasiadas cosas, demasiados blogs, demasiado trabajo… Intentaré robar tiempo al tiempo para escribir más a menudo en este blog, Aprendiendo PHP. Esa es mi intención. Y ahora, al tajo…

Las funciones son una parte muy importante en cualquier lenguaje de programación y PHP no es una excepción a ello, ni mucho menos! Definimos primero qué es una función: una función es como una pieza independiente del programa, una ‘entidad’ de código que está diseñada, mejor dicho, programada para realizar una determinada acción, como, por ejemplo,  devolvernos la fecha del sistema. No es necesario que conozcamos ‘sus tripas’, el código que la conforma. Simplemente debemos saber para qué sirve y cómo llamarla.

En posts anteriores de Aprendiendo PHP ya hemos visto y utilizado algunas de ellas, como la función que he comentado en el párrafo anterior, la que nos devuelve la fecha y la hora de nuestro sistema: la función date(). Una función puede o no devolver un resultado, operando sobre unos valores, a los cuales denominamos argumentos o parámetros. Se construye con una palabra reservada del lenguaje seguida de paréntesis, los cuales pueden ir vacíos o con una enumeración de argumentos o parámetros, separados por comas. Posteriormente esos argumentos pueden sustituirse por los valores que queramos, siempre y cuando sean del mismo tipo de datos. Por cierto, nos queda pendiente el tema sobre el cambio de tipo de datos, lo sé…


Lee el resto de esta entrada »

Concatenación de cadenas en PHP

[Operadores en PHP (V)]

La concatenación de cadenas o unión de strings en PHP se realiza mediante un punto (.): $texto= $texto2.$texto3. Ya hemos visto un ejemplo en el anterior post sobre los operadores de incremento y decremento. Así, el operador de concatenación es un punto entre cada una de las cadenas de texto -o variables que las representen- que queramos unir. La mejor forma de ver la concatenación de cadenas o strings  es con unos cuantos sencillos ejemplos:

<?php
$texto1= ‘Esto es’;
$texto2= ‘un string o cadena de texto’;
$texto3=$texto1.’ ‘.$texto2; // unimos las dos variables con el operador de concatenación: un punto y escribimos un espacio en blanco entre comillas simples para separar las dos frases
echo $texto3;
?>

También podemos incluir el espacio en blanco en la segunda cadena de texto ($texto2):

<?php
$texto1= ‘Esto es’;
$texto2= ‘ un string o cadena de texto’; // el espacio en blanco entre las dos cadenas lo escribimos directamente en el valor de $texto2
$texto1=$texto1.$texto2;
echo $texto1;
?>

Si tenemos una cadena en una variable y la otra no, lo mostraríamos de la siguiente forma:

<?php
$texto1= ‘Esto es una cadena de texto. ‘; // dejo un espacio en blanco después del punto de la frase
$texto2=$texto1 .’Y esta es la cadena de texto sin variable’;
echo $texto2;
?>
Ver ejemplo

En el código del ejemplo he querido utilizar código HTML para devolver el resultado en negrita (tags <b></b>): echo “<b>$texto1</b>”; Si lo hubiéramos escrito entre comillas simples, simplemente hubiéramos obtenido el texto literal $texto3, sin haberse interpretado la variable. Por ello, debemos tener siempre muy en cuenta que si queremos interpretar código dentro de la variable, tenemos que utilizar comillas dobles. Os dejo un recordatorio sobre la diferencia entre las comillas simples y las dobles en PHP:


Enlaces recomendados:

http://www.mclibre.org/consultar/php/lecciones/php_cadenas1.html
http://www.tuwebdeinformatica.com/Crearwebs/php_mysql/variables_php.html
http://www.ignside.net/man/php/strings.php
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_PHP/Cadenas

Operadores de incremento y decremento en PHP

[Operadores en PHP (IV)]

Retomando los operadores aritméticos, vamos a ver en este post un tipo de operadores directamente relacionados con ellos: los operadores de incremento y decremento. Y la mejor forma de empezar es con un ejemplo:

<?php
$a= $a + 1;
$b= $b -1;
?>

Este mismo código expresado con los operadores de incremento y decremento se escribe así:

<?php
$a++; // dos signos más (+) seguidos
$b–; // dos signos menos (-) seguidos
?>

Lo más significativo es que hemos eliminado el operador de asignación, el símbolo igual (=), y hemos sustituido el nombre de la variable que se suma o resta por un signo más (+) o menos (-), respectivamente. Así, $a++; (++ es el operador de incremento) es lo mismo que $a= $a + 1; y b$–; es lo mismo que b$= $b – 1; (– es el operador de decremento).

Hay una cosa importante que debemos tener en cuenta: los operadores de incremento y decremento pueden anteceder o preceder a la variable, cambiando así el resultado de la operación. Es decir, no dará el mismo resultado la operación $a++ que la operación ++$a: situar el incremento antes de la variable (++$a) da prioridad al incremento (o decremento –, si fuera –$a). Un ejemplo para ver la diferencia:

<?php
$a= 2;
echo”El valor de la variable <b>a</b> es: 2<br />”; //mostramos el valor de la variable, que es 2
$a++; // incrementamos la variable en uno con el post-incremento, siendo ahora su valor 3. No lo mostramos
echo”Ahora será: <b>”.++$a.”</b>”; // ahora la variable valdrá 4 (3 + 1), al haberse realizado primero el post-incremento
?>
Ver ejemplo

En el próximo post trataremos la concatenación de cadenas, que ya hemos utilizado en el ejemplo: (echo”Ahora será: <b>”.++$a.”</b>”; ) y los cambios de tipo.

Enlaces útiles al respecto:
PHP.net: Operadores incremento y decremento (Manual oficial)
Operadores de incremento y decremento
NOTA: No dejo ‘obvia’  la URL de esa web (je, je…) Viva el sentido del humor! Todo un manual de PHP aquí

Operadores lógicos en PHP

[Operadores en PHP (III)]

Los operadores lógicos, al igual que los aritméticos, devuelven valores booleanos, es decir, TRUE (1) o FALSE (0). Los principales operadores lógicos son los siguientes: AND, OR, XOR y NOT. Se utilizan para evaluar comparaciones entre dos valores. Los signos que los representan son:

Un resumen con pequeños ejemplos::

Ejemplo Nombre Resultado
$a and $b AND (Y) TRUE si $a y $b son verdaderos
$a or $b OR (O) TRUE si $a o $b son verdaderos
$a xor $b XOR (O exclusiva) TRUE si $a es verdadero o $b es verdadero, pero no ambos a la vez
! $a NOT (NO, negación) TRUE si $a no es verdadero.
$a && $b (AND) Y TRUE si tanto $a como $b son verdaderos
$a || $b (OR) O TRUE si $a o $b son verdaderos

- and: Es un operador binario (se aplica a dos varibles) y sólo devuelve TRUE si los dos valores sobre los que actúa o realiza la operación son TRUE (1). Se representa por && o and. Las posibles combinaciones y sus resultados son:

$a $b Resultado
TRUE TRUE TRUE
FALSE TRUE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE

- or: El operador not, a diferencia de and, sólo da como resultado FLASE (0) si las dos variables sobre las que actúa son FALSE. En el resto de casos, nos dará como resultado TRUE (1). Las posibles combinaciones son:

$a $b Resultado
FALSE FALSE FALSE
TRUE FALSE TRUE
FALSE TRUE TRUE
TRUE TRUE TRUE

- xor (u operador exclusivo): Sólo devuelve TRUE cuando los dos valores son distintos:

$a $b Resultado
TRUE TRUE FALSE
FALSE TRUE TRUE
TRUE FALSE TRUE
FALSE FALSE FALSE

not: Este operador, a diferencia del resto,  es un operador unario. Esto significa que se aplica a una sola variable.
Ejemplo: ! &a: El valor es TRUE si la variable a no es cierta.

Para poder ver ‘en acción’ estos operadores, nos esperaremos a ver las estructuras de control. Ya queda menos…

Más información sobre los operadores en PHP:
- http://www.ignside.net/man/php/operadores.php (ignside.net)
http://php.net/manual/es/language.operators.logical.php (Manual PHP)
- http://www.webestilo.com/php/php03c.phtml (Webestilo.com)

Operadores de comparación en PHP

[Operadores en PHP (II)]

Tal y como comentaba en el anterior post, voy a continuar con los operadores en PHP. Vamos a ello:

Operadores de comparación
Los operadores de comparación se utilizan para comparar dos valores entre sí y de esta poder tomar una decisión por medio de las instrucciones de control que veremos más adelante.

El resultado de un operador de comparación es un valor denominado booleano (boolean), dependiendo si la comparación se satisface o no. TRUE si es verdadero y FALSE si es falso. Estos dos valores también pueden representarse por un cero (0) en el caso de FALSE y un 1 si la comparación da como resultado TRUE. Así, el cero siempre representa que la comparación no se cumple, es decir, que el resultado de la comparación es FALSE (falso). Resumiendo:
- cero (0) = FALSE
- uno (1)= TRUE (aunque creo que también podría representarse por cualquier otro número distinto de cero).

Para realizar ls comparaciones entre dos valores disponemos en PHP de los siguientes  valores:

== igual a
=== idéntico a
!= distinto de
<> distinto de (otra forma de representarlo)
!== no idéntico a
< mayor que
> menor que
<= menor o igual a
>= mayor o igual a

Operador Descricpción
$a == $b TRUE si $a es igual a $b
$a === $b TRUE si $a es idéntico a $b
$a != $b (también <>) TRUE si $a no es igual a $b
$a <> $b TRUE si $a no es igual a $b (otra forma de representarlo)
$a !== $b (también <>) TRUE si $a no es idéntico a $b
$a < $b TRUE si $a es menor que $b
$a > $b TRUE si $a es mayor que $b
$a <= $b TRUE si $a es menor o igual igual que $b
$a >= $b TRUE si $a es mayor o igual que $b

Veamos un ejemplo de los principales operados de comparación en PHP: 

<?php
$a = 1;
$b = 2;
$c = 3;
echo $a == $b,” :Comparación 1 <br />”;  //devuelve FALSE (0). Añadimos un pequeño código en HTML entre comillas dobles
echo $a != $b,” :Comparación 2 <br />”; //devuelve TRUE (1)
echo $a < $b,” :Comparación 3 <br />“; //devuelve TRUE (1)
echo $a > $b,” :Comparación 4 <br />“;//devuelve FALSE (0)
echo $a >= $c,” :Comparación 5 <br />“;//devuelve FALSE (0)
echo $b <= $c,” :Comparación 6 <br />“; //devuelve TRUE (1)
?> Ver ejemplo

Si ejecutamos el ejemplo, la página HTML nos devolverá un 1 cada vez que no se cumple la comparación (FALSE) y un cero (0) o nada si se cumple (TRUE). Así, tendremos los siguientes valores como resultado de las comparaciones:

0 (FALSE) (no se mostrará nada): Comparación 1
1 (TRUE): Comparación 2
1 (TRUE): Comparación 3
0 (FALSE) (no se mostrará nada): Comparación 4
0 (FALSE) (no se mostrará nada): Comparación 5
1 (TRUE): Comparación 6

Tenéis más información al respecto en el siguiente enlace del manual de PHP: http://php.net/manual/es/language.operators.comparison.php. En el mismo se habla de la comparación entre distintos tipos de datos. Nosotros lo veremos con ejemplos más adelante.

En el próximo post estudiaremos los operadores de incremento y los lógicos, entre otras cosas.