Cambios en la conexión a Internet de la Biblioteca Pública de Valencia

Cambios en la conexión a Internet de la Biblioteca Pública de ValenciaValencia, 27/06/2012, G.B.
De nuevo en la Biblioteca Pública de Valencia, pero esta vez con mi portátil utilizando la conexión WiFi que proporciona la misma, previa alta con carnet. He notado, nada más loguearme con el uario y contraseña que se ma facilitó, que ahora existe un límite de conexión: 4 horas. También he notado que la velocidad ha disminuido onsiderablemente.

Desconozco si este límite de tiempo y calidad de la conexiónse debe a un objetivo de ahorro de banda ancha u otra razón, como evitar abusos de uso, pero si es un límite diario -como probablemente sea- imagino que habrá fastidiado a mucha gente. En fin, así es la crisis, o eso parece.

Nada más, sigo con lo mío.

Control de flujo o estructuras de control en PHP (I): una introducción

Introducción  a las sentencias If

Valencia, 23/06/2012, G.B.
Ya sabemos un poco más sobre PHP, pero hay algo muy importante que hemos dejado de lado hasta ahora: me refiero a las estructuras de control de flujo o estructuras condicionales. ¿Y qué son? Todo lenguaje de programación dispone de este tipo de estructuras que nos permiten ‘ir hacia un sitio u otro’, conseguir un resultado u otro dependiendo del contexto, de la interacción con el usuario o con una variable. Así, podemos decidir qué hacer o qué respuesta dar dependiendo de las posibles condiciones, es un flujo de causa-efecto, por decirlo de algún modo: causa 1: efecto uno,  consecuencia o respuesta uno; causa 2: efecto, consecuencia o respuesta 2, y así indefinidamente, dependiendo de la versatilidad o complejidad de la estructura de control que necesitemos programar para nuestra página web. Con ello, damos cierta interactividad y versatilidad a nuestras páginas.

Así, podemos decir que las sentencias o estructuras condicionales se utilizan para realizar distintas acciones basadas en condiciones diferentes.

Todo script PHP está construido en base a una serie de sentencias. Una sentencia puede ser una asignación, una llamada de función, un ciclo, una sentencia condicional o incluso una sentencia que no hace nada (una sentencia vacía). Las sentencias generalmente finalizan con un punto y coma. Adicionalmente, las sentencias pueden agruparse en un conjunto de sentencias, encapsulándolas entre corchetes. Un grupo de sentencias es una sentencia por sí misma también.
Fuente: http://www.php.net/manual/es/control-structures.intro.php

Las estructuras de control son por tanto secuenciales, siguen un flujo. Veámoslo con un clásico ejemplo (en este primer post todavía sin código):

Si la página web se carga por la mañana, imprime el mensaje de texto “Buenos días”;
Si la página web se carga por la tarde,  imprime el mensaje de texto “Buenas tardes”
Si la página web se carga por la noche,  imprime el mensaje de texto “Buenas noches” 

Traduciendo el anterior ejemplo escrito en lenguaje natural a lenguaje PHP, tendríamos que utilizar una estructura de control de flujo del tipo If… elseIf… else (basada en el inglés).  La anterior estructura de flujo (ejemplo en azul) imprimiría (mostraría) un determinado texto de bienvenida dependiendo de la franja horaria en la que el usuario cargue nuestra página web. Pero hay más tipos de estructuras de control de flujo. Todas ellas las veremos en el próximo post., con ejemplos en PHP, por supuesto. Dejo un adelanto de la primera clase de estructuras de control de flujo que vamos a ver, me refiero a las sentencias If:

Bueno, hasta aquí la introducción. En los siguientes posts nos adentraremos más en las estructuras de control, empezando, además de por poner ejemplos de código, por su clasificación, basada en el uso que le damos. Como ya habréis podido observar, las estructuras de control son simples secuencias lógicas trasladadas a la sintaxis propia del lenguaje que vayamos a utilizar, en nuestro caso, PHP.

Hasta pronto, prometido (ahora sí!)

Lecturas recomendadas:
Estructuras de control en la Wikipedia y este otro enlace (si os manejís bien en la lectura del inglés):  If… Else Statements

Algunos pequeños consejos sobre posicionamiento para un amigo

Una pequeña carta abierta…

Algunos pequeños consejos sobre posicionamiento para un amigoValencia, 21/06/2012, G.B.
Un amigo me pregunto cómo posicionar más una de sus webs. ël ya conoce las técnicas SEO y la suma importancia del contenido, es más, me ha dicho “Guillermo, y no me digas que es por el contenido…“. Je, je, se lo sabe y me conoce  muy bien…

Lo que he detectado en un análisis ultra-rápido de su web, mejor dicho, su blog, lo cual ya es un punto muy importante para conseguir un buen posicionamiento, es que su página de inicio no decía demasiado, incluso hay algunos fallos de diseño (probablemente plugins que no funcionan correctamente en todos los navegadores).  Tampoco he podido ver los plugins que tiene instalados en su blog bajo WordPress, mi CMS favorito, por cierto. Decir también que ya está muy, muy bien posicionado, pero quiere estar el primero… Entonces, ¿qué es lo que le recomendaría? Incluyo algunos pequeños consejos dentro de su ‘contexto’, aunque seguramente ya los sepa:

1) Optimizar la página de inicio: debe ‘decir más‘ sobre la temática de la que trata su blog, tanto a nivel ‘máquina’ (buscadores, robots, spiders…), como a nivel ‘humano’ (debe haber algo interesante en ella, que capte la atención de los visitantes.

2) Corregir errores que aparecen en la misma, así como traducir todos los ‘labels’ a castellano. Tendrá que ir página a página de su CMS e ir traduciéndo los términos en inglés, tales como ‘Leave a comment‘, etc.

3) Instalar plugins específicos para obtener una mayor optimización SEO. Probablmente ya lo haya hecho aunque, repito, no lo he visto todavía.  Me refiero a plugins tipo All in One SEO, HeadSpac e, etc., así como plugins para crear sitemaps y mapas web, tales como Google XML Sitemaps y DDSitemap Generator (creo que se escribe así).

4) Seguir trabajando las redes sociales, cosa que ya hace, por lo que he podido observar. Aquí podríamos extendernos muchísimo. Él ya sabe muy bien de qué va el tema…

5) Darse de alta en directorios de enlaces relevantes (también lo está haciendo)

6) Crear sinergias con otras webs de su misma temática. Me ha dicho que va a empezar a hacerlo

7) Hacer un seguimiento diario de los resultados en cuanto a posicionamiento y visibilidad. Estoy seguro que está en ello

Y por último y no menos importante, tal y como él ya sabe muy bien, dar un contenido de calidad, adecuado a la temática de su sitio y que ‘enganche‘ a los visitantes de su web. Creo sinceramente que esta es la parte más importante y difícil de conseguir ¿no?

Se me olvidaba: tener mucha suerte, o mucha mierda!, como dicen en el teatro.

No sé si te contado algo que no sepas ya, sospecho que no ¿verdad? De todas formas, ya lo hablamos, amiguete!

Salu2.

PD: Tenéis en la Red miles de sitios y recursos de calidad para aprender a posicionar una web. Recordad también que es igual de importante ponerlos en práctica y ser crítico, no creerse todo lo que te digan a la primera. Para aprender, hay que quemarse, o mojarse,  al menos un poquito. Y de aprendices, nadie salimos, por gracia o desgracia, según cómo se mire… Siento decirlo así, queridos ‘gurús‘…

Simplemente me apetecía ver y escuchar esto…

Minipost musical

Valencia, 15/06/2012, G.B.
Un pequeño vídeo del Sr. Tom Jones en directo, concierto Live at Cardiff Castel, canción, bueno, una versión de la canción Are you gonna go my way. ¿Y por qué? Simplemente porque me apetecía. Fuerza, vitalidad, optimismo, diversión, que buena falta nos hace con la que está cayendo, con la que quieren que nos caiga… Sí, lo sé, bastante alejado de la moda y estética actual. Pero lo que tiene garra, resiste a las ‘modas’, ¿no?

Sin más, aquí va. Que lo disfrutéis (yo lo he hecho):

NOTA: La canción original e del tercer álbum de Lenny Kravitz. Más info en la Wikipedia, por si os interesa.

Simple Scripts, prueba e instala gestores de contenido de forma sencilla y gratuita

Disponible también la versión de pago con más ventajas y capacidad de transferencia

Simple Scripts, prueba e instala gestores de contenido de forma sencilla y gratuitaValencia, 13/06/2012, G.B.
Estaba revisando los borradores de este blog: varias entradas o apuntes a la espera de ser revisadas, corregidas y publicadas, cuando he dado con una  intereante, una acerca de un script para la creación de un portal de anuncios. Y cuando he ido a editar dicha entrada y comprobar los enlaces, me he dado cuenta que el script que buscaba gratuito ya no estaba disponible en su página oficial, al menos no a la vista. He buscado en el foro oficial y tampoco lo he encontrado directamente, aunque sí he dado con un muy interesante sitio en el que se especifican un buen número de CMS (gestores de contenido) que puedes instalar en tu hosting de forma rápida, gratuita y sencilla, y en el que sí está disponible la aplicación que buscaba. El sitio  se llama Simple Scripts:

SimpleScripts provides easy one-click management of over 70 of the web’s top applications, including WordPress, Joomla, phpBB, Roundcube, Gallery, and more. SimpleScripts is a “hosted service”, so you can add applications to your existing web hosting account, whether or not your host supports it!

SimpleScripts es una utilidad para instalar y actualizar “en un click” -según afirman desde su web oficial- sobre 70 de los CMS o gestores de contenidos más populares de la web, incluyendo Blogs (como WordPress), Galerías de Fotos, Tiendas Online, Foros, Wikis y mucho más. En el siguiente enlace podrás comprobar todo el listado de aplicaciones web disponibles en Simple Scripts:  www.simplescripts.com/script_list.

Además, puedes instalar tu CMS favorito  en tu propio hosting, quedando a cargo de Simple Scripts la comprobación de la compatibilidad de las mismas en tu sitio (como versión de PHP, MySQL…) y el funcionamiento de las mismas, aunque tu hosting no diponga de los requerimientos necesarios para hacerlas ‘rodar’.

Para crear una cuenta personal (gratuita): www.simplescripts.com/personal. Y estos son los hosts (hostings) en los que funciona Simple Scripts: www.simplescripts.com/hosting.

Creo que voy a probarlo…

Diferencias entre las estadísticas de Blogger y Statcounter

Valencia, 10/06/2012, G.B.
Hace algunos días volví a echar un vistacillo a las estadísticas de un blog bajo la tecnología de Blogger. Utilicé las propias estadísticas del citado sistema de blogs de Google. Comparándolo con las estadísticas de Statcounter.com en el mismo blog, las diferencias son muy grandes. No he discriminado ninguna página, ni aumentado el tiempo de sesión, así que no entiendo muy bien lo que está pasando: el número de páginas vistas contabilizado en Blogger es muy superior al de Statcounter.

Statcounter.com me gusta mucho, sobre todo para visionar en tiempo real lo que está pasando con tu sitio, pero las diferencias son excesivas (5 veces más en Blogger).

Os dejo un par de capturas de pantalla (sin mencionar el sitio en concreto) de las páginas vistas durante esta semana y hasta este mismo momento de escribir este post:

Diferencias entre las estadísticas de Blogger y Statcounter
Estadísticas de Statcounter.com
Diferencias entre las estadísticas de Blogger y Statcounter
Estadísticas Blogger

Intentaré averiguar algo más al respecto…

Oculta tu IP pública con la red Tor

Oculta tu IP pública con la red TorValencia, 10/06/2012, G.B.
Si quieres navegar con privacidad, ocultar tu IP pública, puedes utilizar la red Tor. Para ello, sólo tienes que descargarte la aplicación e instalarla. Una vez hecho, podrás navegar de forma anónima, en el caso de que quieras enviar algún documento privado y no quieras que nadie controle tus movimientos en la Red, bueno, casi nadie.

Para descargar la aplicación que te permite navegar de forma anónima, pulsa en este enlace; Tor Browser Bundle for Windows. También la tienes disponible para Mac y Linux.

Y para comprobar que realmente estás navegando de forma anónima, con una IP diferente a la que te proporciona tu ISP, visita: www.whatsmyip.com

Recuerda que si lo utilizas para usos fraudulentos, ten por seguro que tus huellas en la red serán rastreadas.

Un enlace interesante relacionado: Navegación anónima con la red Tor 

Google Plus Local, el sustituto de Google Places

Today, we’re rolling out Google+ Local, a simple way to discover and share local information featuring Zagat scores and recommendations from people you trust in Google+. Fuente: blog Oficial de Google

Google Plus Local, el sustituto de Google PlacesValencia, 05/06/2012, G.B.
Buscando información sobre Google Places, más que nada para hacer un pequeñito artículo en otro blog, enfocado a comercios y para que puedan utilizarlo, me he encontrado con esto: Google Plus Local. En concreto, un artículo titulado: Adiós Google Places, bienvenido más Google Plus (parece una traducción literal…). El autor del artículo es Doug Gross y está publicado en la CNN en español.

Me temo que tendré que mirar este nuevo servicio de Google que parece ser sustituirá al viejo Google Places. Lo haré con calma.

Parece ser que Google está decidido a potenciar su red social Google+, para hacer  frente a Facebook. ¿Lo conseguirá? En el intento está…

Os dejo unos cuantos enlaces sobre el nuevo Google Plus Local:
Google Plus Local
Un artículo sobre Google Plus Local en el blog oficial de la compañía

Y el vídeo ‘promocional’:

Most And Least Read Posts Widget, muestra las lecturas a tus posts

“Most and Least Read Posts Widget” is a free plugin for WordPress, developed by the Whiletrue.it staff to show lists of the most and least read posts.

Valencia, 31/05/2012, G.B.
Siguiendo el tema de los plugins de WordPress para mostrar el alcance de tus posts, las lecturas a los mismos, quiero comentaros otro que tengo instalado aquí, en KnowHow (comprobar el inicio y final de este post). Se trata de  Most And Least Read Posts Widget.  Como todos los plugins del CMS, lo puedes instalar desde el repositorio de plugins de tu Escritorio de WordPress o de la página de plugins de WordPress (ya os he dejado el enlace). Aquí embebo la captura de pantalla:

Most And Least Read Posts Widget, muestra las lecturas a tus posts
Una alta puntuación (la máxima), ¿verdad? ¿Y en qué consite Most And Read Post Widget? Este plugin para WordPress uestra dos listas: la de los posts más leídos y la de los menos leídos. Dispone de las siguientes opciones de personalización:

  • Excluir posts cuyos títulos incluyan ciertas palabras
  • Mostrar el nnúmero de lecturas (accesos) al post
  • Excluir posts con un determinado número de días (posts antiguos)

El plugin muestra los hits (accesos a los posts) a partir del momento en que se ha instalado, almacenando los datos en el campo personalizado “custom_total_hits“, sin necesidad de acceder a cuenta externas. Además, Most And Least Read Posts Widget descarta los accesos de los robots más populares, incluyendo Googlebot. De esta forma, el cálculo de accesos es real, ‘humano’.

Una opción muy interesante (yo la estoy utilizando) es mostrar el número de accesos o lecturas en el mismo post, utilizando una frase personalizada que puedes cambiar en la página de configuración del plugin. Ejemplo: Este post ha sido leído X veces. Puedes cambiar la posición y el estilo (style) de la frase concreta. Y si quieres, puedes mostrar los hits a tus posts en cualquier posición de la plantilla loop.php. Esta es la función php que debes utilizar para ello:

<?php echo most_and_least_read_posts_get_hits(get_the_ID()); ?>

Como podéis imaginar, si todavía no lo habéis probado, vale la pena. Un buen y útil plugin para analizar tu contenido publicado.

Para más información, visitad la página del autor el plugin.

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’]

Cómo crear las matrices:

De forma implícita: consiste en indicar a la matriz el elemento (tanto por su posición o por su clave, tal y como acabamos de indicar).
Un ejemplo:  $gestores_contenido[0]=’Wordpress’;

Si no indicamos la posición de la matriz, el array cogeré el valor siguiente al último valor que haya sido introducido.
Ejemplo: $gestores_contenido[]=’Joomla’ // tomaría como valor 1 ya que el último introducido era el cero (0).

Mediante array(): Pasamos los elementos como parámetros. Si es una matriz indexada, toman la posición que ocupan en la creación de la matriz. Y si es unaa matriz asociativa, se les asigna su valor mediante “=>”. Ejemplo: $lenguajes=array(‘Tipo’=>’Script’, ‘Nombre’=>’JavaScript’);

PHP no sólo se limita a la existencia de matrices por sí mismo,  sino que existen matrices de matrices, o lo que es lo mismo, matrices multidimensionales. Ejemplo: $gestores_contenido[2][‘PHPLD’]

Cómo recorrer una matriz

Existen varias herramientas para poder acceder a los elementos de una matriz. Siempre se  mantiene una referencia del elemento de la matriz al que se tiene acceso. Por ello,  para recorrer una matriz sólo tendremos que modificar dicha referencia. En caso de una matriz indexada el recorrido se realizará mediante un bucle. Para ello debemos saber el número de elementos totales de los que dispone la matriz. Para ello nos basamos de una función denominada count (variable),  donde el parámetro variable representa la variable de la que se quiere obtener el número de elementos. Si variable es una matriz, devuelve el número de elementos que tiene. Nos devolverá 1 si sólo tiene un elemento (aunque no sea matriz) y 0 si no tiene ningún valor.

Otra función que nos permite saber el número de elementos es sizeof (matriz) .

Para acceder a los elementos de una matriz asociativa debemos usar la función each() que recupera el par formado por clave y valor y además avanza una posición de puntero. Su sintaxis es each (matriz). Para entender mejor la sintaxis de each, echadle un ‘vistacillo’ a  este post: tomatoma.wordpress.com/manual-de-php/4-matrices-for-each/

La función que realiza el constructor list (variable1,variable2…variableN) es asignar los valores del elemento actual de una matriz a las variables indicadas como parámetro.

NOTA: Me queda pendiente poner los ejemplos. Prometido… 


Bibliografía recomendada:

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…

Todos los CMS (gestores de contenido) basados en PHP disponen de este archivo de configuración oculto, habitualmente en el directorio raíz de la instalación de tu CMS, como WordPress, PHP LD o Joomla!, entre muchos otros.

La buena noticia es que no es necesario que lo crees a mano, aunque podrías hacerlo con cualquier editor de texto plano, o de texto plano ‘enriquecido’. Así, con el Notepad.exe de Windows puedes hacerlo, el gedit de Linux o el que más te guste y/o apetezca, Y digo lo de que no es necesario crearlo porque cuando instlas un CMS o gestor de contenidos basado en PHP, el archivo .htaccess ya está listo con su configuración básica para un funcionamiento adecuado de tu sitio bajo WordPress, Joomla!, PHP LD…. Eso sí, si quieres incorporar características especiales y mejoras a tu sitio, deberás editarlo.

Veamos un ejemplo del archivo .htaccess. Es un archivo .htaccess de WordPress, simple, de una versión ‘antigua’, sin ninguna característica adicional, tan sólo con lo necesario para que nos funcione el CMS:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

En este caso, habría que ‘meterle mano’ para optimizarlo.

¿Y cuáles son las posibilidades te ofrece .htaccess?Estas son las más importantes:

  • Restringir el acceso a directorios de tu sitio: muy interesante si tienes un directorio personal, privado, al que no quieres permitir el acceso a personas ni a robots. Prueba a crearlo aquí: http://www.htaccesseditor.com/es.shtml#a_basic
  • Restringir el acceso a IPs o ISPs: hay IPs y dominios que contienen malware. Es importante estar protegido contra ellos. El archivo .htaccess te ayudará a ello.
  • Posibilidad de crear  URLs Amigables (semánticas): muy importante por tema SEO
  • Manejar errores del servidor: qué hacer, a qué página dónde redirigir dependiendo del tipo de error (error 401, error 500, etc., etc.).
  • Crear redirecciones estáticas: la famosa Redirección 301. En este artículo podréis ver buenos ejemlos y el código a agregar a nuestro archivo .htaccess para crear esta útil redirección: Redirección 301 (webexperto.com).
  • Controlar la caché del sitio: acelera la carga de tu sitio y te ‘premian’ tanto los usuarios como los motores de búsqueda
  • Evitar hotlink o llamada remota de tu sitio: no permite que enlacen a imágenes y archivos de configuración, como hojas de estilo (archivos .css), javascripts (archivos .js)… Así evitarás sobrecargar con peticiones ajenas tu sitio, que se aprovechen del ‘tirón’. Muy útil también (yo lo utilizo en un determinado sitio, es decir, evito los hotlinks a ese dominio).
  • Forzar dominio sin las WWW. Es decir, que dará igual que escribas www.aprendiendophp.net que http://aprendiendophp.net, se cargará el mismo sitio gracias a la configuración del .htaccess.
    Un ejemplo con este dominio Aprendiendo PHP:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.aprendiendophp.net)(:80)? [NC]
RewriteRule ^(.*) http://aprendiendophp.net/$1 [R=301,L]
order deny,allow

Para finalizar esta introducción a .htaccess, os dejo algunos enlaces útiles e interesantes,  aunque mi intención es ir profundizando más en el tema. Poco a poco. Aquí van:

Tutorial de .htaccess de ‘En español’
El .htaccess ‘perfecto’ para tu WordPress, según ayudawordpress.com
Editor online de archivos .htaccess (webexperto.com)
Otro editor online de .htaccess (htaccesseditor.com)
.htaccess Files (tutorial de Apache, sitio en inglés)

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 individualmente 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…

Desde luego, hay más formas de operar y declarar las matrices. Como por ejemplo:

<?php
$libros= array (2, 5, 8, 12); 
?> 

Acabamos de crear una matriz (de nuevo $libros) con cuatro elementos. El primero tiene el valor 2, el segundo 5, el tercero 8 y el cuarto 12.  PHP entenderá que hemos creado la matriz gracias al uso de la palabra reservada array, y que tiene cuatro elementos. Son los números enteros que van entre paréntesis y separados por comas. También podrían ser otro tipo de datos, como cadenas de texto, por ejemplo. Para recuperar los valores de la matriz podríamos volver a utilizar el código anterior, un echo utilizando una cadena en bloque:

Para añadir otro elemento a la matriz que hemos creado, simplemente debemos especificarlo:

<?php
$libros[]= 7;
?>

Y ahora hemos añadido otro elemento a la matriz $libros. Como observamos, para hacerlo simplemente la hemos llamado añadiéndole un corchete de apertura y otro de cierre, indicando seguidamente a través del signo de igualdad el nuevo valor de la matriz, nuestro añadido número 7. El motor de PHP de nuevo entenderá que es una matriz y que acabamos de añadir un nuevo elemento con el valor (numérico en este caso) 7. Vamos a verlo unido, indicando además una nueva instrucción para comprobar los valores de la matriz que hemos creado (print_r):

<?php
$libros= array (2, 5, 8, 12); 
$libros[]= 7;
print_r ($libros);
?>  

El resultado será el siguiente:

Array ([0]==>2 [1]==>5 [2]==>8 [3]==>12 [4]==>2 [4]==>7 )El primer elemento [0] tiene el valor 2, el segundo elemento [1] tiene el valor 5, el tercer elemento [2] tiene el valor 8, el cuarto elemento de la matriz [3] tiene como valor el12 y, por último, el quinto elemento de la matriz que hemos añadido ennuestra segunda línea de código $libros[]= 7;), tiene como valor el 7.

Bueno, hasta aquí la primera parte, muy teórica, lo sé. En la segunda parte veremos unos cuántos más ejemplos y cosas que se me pueden haber escapado…

Ver ejemplo

Algunos enlaces interesantes al respecto:
– Matrices en PHP (PHP.net): http://php.net/manual/es/language.types.array.php
– Matrices en PHP (php-es.com):  http://www.php-es.com/language.types.array.html
– Matrices (Array): http://www.webtaller.com/manual-php/matrices-array.php