feed twitter facebook LinkedIn facebook

JavaScript » Añadir elementos a un array con Javascript push

mayo 19, 2013 por Víctor Cuervo . 506 visitas 4 Comentarios Imprimir Imprimir

Cuando trabajamos con Javascript, una de las formas que tenemos para añadir elementos a un array es el método Javascript push. El método Javascript push lo que hace es añadir un elemento al final del array que tengamos.

Lo primero que haremos será crear un array Javascript con una serie de elementos iniciales.

  1. var nombres = ["victor","pedro"];

Ahora volcamos por pantalla el contenido del array para comprobar los elementos que lo componen. Para recorrer el array utilizamos una estructura Javascript for in.

  1. for (name in nombres)
  2. document.write(nombres[name]+"</br>");

Veremos que la salida por pantalla es:

victor
pedro

Ahora, para añadir los elementos utilizamos el método Javascript push. Este método recibe como parámetro el elemento que queremos insertar en nuestro array Javascript. En este caso será una cadena de texto.

  1.  
  2. nombres.push("juan");
  3. nombres.push("maría");
  4. nombres.push("irene");
  5. nombres.push("victor");

El método Javascript push no comprueba si el elemento a insertar en el array existe previamente. Siempre lo inserta.

Si volvemos a recorrer el array con el código explicado arriba veremos que la salida es la siguiente:

victor
pedro
juan
maria
irene
victor

Como podemos comprobar el método Javascript push no ha validado que el elemento "victor" ya existía y lo ha insertado de nuevo en el array.

¿Qué harías para no insertar un mismo elemento dos veces en un array Javascript?

PHP » Crear un objeto vacío en PHP

mayo 19, 2013 por Víctor Cuervo . 517 visitas 1 Comentario Imprimir Imprimir

En PHP podemos manejar objetos y crear objetos a partir de sus clases. Una de las primeras cosas que podemos hacer es crear un objeto vacío en PHP.

Para crear un objeto vacío en PHP vamos a utilizar la clase stdClass. La clase stdClass es la que representa un objeto vacío en PHP.

Simplemente tendremos que codificar lo siguiente:

  1. $miobjeto = new stdClass();

Si volcamos el contenido del objeto por consola mediante la función var_dump podemos comprobar la estructura de la variable y ver que, efectivamente, es un objeto.

object(stdClass)#1 (0) { }

Nuestra variable $miobjeto ya se habrá convertido en un objeto vacío en PHP y a partir de este momento podremos asignarle las propiedades que queramos.

Las propiedades las creamos mediante el operador de asignación -> de la siguiente forma:

  1. $miobjeto->propiedad = "valor";

¿Qué utilidad encontrarías al crear un objeto vacío en PHP?

JavaScript » Volcar datos a consola con Javascript console.log

mayo 18, 2013 por Víctor Cuervo . 663 visitas Sin Comentarios Imprimir Imprimir

Todo buen programador debe depurar sus programas. Si estamos trabajando con Javascript es muy útil volcar datos a consola con Javascript console.log

Programando con Javascript console.log

Console es el objeto Javascript que representa a la consola y con el método Javascript console.log podemos volcar el contenido sobre la consola. A la hora de volcar los datos podemos hacerlo de dos formas. O volcando una cadena de texto o volcando un objeto.

  1. console.log("mensaje de texto");
  2. console.log(Objeto);

Así podríamos tener el siguiente código con Javascript console.log:

  1. console.log("Esto es un mensaje en la consola");

O bien, volcar un objeto:

  1. p = new Object();
  2. p.nombre = "Victor";
  3. p.edad = 35;
  4.  
  5. console.log(p);

Recuerda que al manipular el objeto Javascript console.log, el objeto console es con c minúscula.

Dónde está la consola para Javascript console.log

Dependiendo del navegador o de la extensión que estemos manejando podremos encontrar el resultado de Javascript console.log.

Así podemos encontrar la consola en:

  • Google Chrome, se puede encontrar la consola en Herramientas > Consola Javascript. Se pueden realizar muchas operaciones dentro de la consola de Google Chrome.

    console-chrome

  • Firefox, la consola está en Herramientas > WebDeveloper > Web Console. Desde esta consola podemos ver el código generado por nuestro programa con el Javascript console.log.

    console-firefox

  • Firebug
  • , es un complemento para los navegadores orientado a optimizar el desarrollo de las páginas web, dándonos acceso a la gestión del DOM de la página, a las descargas realizadas por una página web,... y como no a la Consola dónde se vuelca el resutalado de Javascript console.log.

    console-firebug

¿En qué más sitios has utilizado la consola para ver el resultado de Javascript console.log?

JavaScript » Estructura Javascript for of

mayo 17, 2013 por Víctor Cuervo . 616 visitas Sin Comentarios Imprimir Imprimir

El otro día veíamos como realizar una estructura Javascript for in. Hoy vamos a hablar sobre la estructura Javascript for of. A día de hoy la estructura Javascript for of está en formato experimental y propuesta para ser includa dentro de Ecma Script 6.

La estructura Javascript for of permite que dentro de la ejecución del bucle tengamos acceso al elemento que estemos tratando, algo más parecido a lo que hacen otros lenguajes mediante sentencias de estructura for each. Y es que la estructura Javascript for in solo nos proporciona el índice o secuencial del elemento que queremos tratar.

La sintaxis de la estructura Javascript for of es la siguiente:

  1. for (variable of objeto) {
  2. // sentencias
  3. }

Donde objeto será el objeto sobre el que queramos iterar y variable contendrá el elemento sobre el que estamos iterando.

Vamos a ver como funciona la estructura JJavascript for of, para ello lo primero será crear un array de elementos:

  1. var nombres = ["victor","pedro","carmen","irene","luis"];

Lo siguiente será definir la estructura Javascript for of con el array nombres como objeto:

  1. for (name of nombres)
  2. document.write(name + "</br>");

En este caso la variable name contiene el elemento de array que estamos tratando, por lo cual simplemente tenemos que volcarlo por pantalla.

A la hora de probarlo tienes que utilizar el navegador Mozilla Firefox, ya que es el único navegador que a día de hoy está ofreciendo esta estructura de forma experimental.

PHP » Manejar objetos JSON con acentos en PHP

mayo 16, 2013 por Víctor Cuervo . 602 visitas 1 Comentario Imprimir Imprimir

Si estas creando objetos JSON en PHP es posible que te encuentres ante la necesidad de manejar objetos JSON con acentos. En estos casos hay que realizar una serie de manipulaciones sobre dichos textos para poder manejar objetos JSON con acentos en PHP de la forma correcta.

Y es que después de realizar el siguiente código:

  1. $objeto = new stdClass();
  2. $objeto->texto = "Víctor";
  3. $json = json_encode($objeto);
  4. echo $json;

Te encuentres con la desagradable sorpresa de que el resultado del objeto JSON contenga un null.

{"texto":null}

Es por ello que tenemos que saber como manejar objetos JSON con acentos en PHP. El truco está en convertir los textos que necesitemos en UTF8. Esto lo podemos hacer de dos formas. La primera forma es que todo el sistema en el que trabajemos funcione en UTF8 en su totalidad, por lo cual las cadenas ya son UTF8.

La segunda forma es convertir la cadena que estemos utilizando en UTF8. Y es que la función json_encode está esperando un parámetro que sea puramente UF8.

Para convertir el texto en UTF8 utilizamos la función utf8_encode pasándola la cadena como parámetro.

  1. $objeto->texto = utf8_encode("Víctor");

Una vez que hemos manipulado el objeto JSON con acentos en PHP obtendremos la siguiente respuesta:

{"texto":"V\u0092ctor"}

PHP » Crear un objeto JSON en PHP

mayo 15, 2013 por Víctor Cuervo . 721 visitas Sin Comentarios Imprimir Imprimir

JSON es una notación de objetos en formato Javascript. Mediante JSON podemos realizar un intercambio sencillo de datos entre el cliente y el servidor. En este artículo vamos a ver como crear un objeto JSON en PHP.

Lo primero que haremos para crear un objeto JSON en PHP será crear un objeto en PHP. El objeto que vamos a crear es una pregunta de la categoría de un test

Pregunta - Altura del monte Everest.
Categoria - Cultura.
Respuestas - 8850, 8900 y 8875.

Pasamos a crear el objeto en PHP:

  1. $pregunta = new stdClass();
  2. $pregunta->titulo = "Altitud del monte Everest";
  3. $pregunta->categoria = "Cultura";

En el caso de las respuestas, al ser varios valores, vamos a crear un array con todos los valores posibles.

  1. $pregunta->respuestas = array(8850,8900,8875);

Si creamos el array con los indices por defecto la estructura JSON que generemos será una estructura con una sola propiedad respuestas. Si queremos crear un objeto JSON en PHP dónde pueda tener una estructura para poder acceder a los valores de forma más sencilla podemos asignar nombres a las propiedades:

  1. $pregunta->respuestas = array("respuesta1"=>8850,"respuesta2"=>8900,"respuesta3"=>8875);

Lo siguiente para crear un objeto JSON en PHP será convertir el objeto en JSON. Para ello nos vamos a apoyar en la función json_encode. A la función json_encode le pasaremos el objeto PHP que acabamos de crear:

  1. $json = json_encode($pregunta);

Si ahora volcamos el contenido de la variable $json veremos que tiene una estructura JSON.

{"titulo":"Altitud del monte Everest","categoria":"Cultura","respuestas":{"respuesta1":8850,"respuesta2":8900,"respuesta3":8875}}

Con esto ya hemos creado un objeto JSON con PHP.

JavaScript » Estructura Javascript for in

mayo 14, 2013 por Víctor Cuervo . 735 visitas 2 Comentarios Imprimir Imprimir

La estructura Javascript for in nos permite recorrer una lista de elementos de una forma sencilla. Javascript for in es una estructura en bucle que nos permite tratar los elementos indicados en la sentencia.

Pero para ver el uso de la estructura Javascript for in lo primero que haremos será crear un array de elementos, los cuales recorreremos y presentaremos en pantalla.

  1. var nombres = ["victor","pedro","carmen","irene","luis"];

La estructura Javascript for in tiene la siguiente sintaxis:

  1. for (variable in objeto) {
  2. // Acciones
  3. }

En el caso del tratamiento del array el objeto será el propio array y la variable será a la que se vaya asignando uno de los valores del índice del array. Es decir, en cada vuelta del bucle el valor de la variable será un nuevo valor del índice.

De esta forma podemos sacar por consola todos los índices utilizando la estructura Javascript for in.

  1. for (indice in nombres) {
  2. console.log(indice);
  3. }

Es importante destacar que con la estructura Javascript for in lo que tenemos es el índice del elemento, no el elemento en sí, como sucede con las sentencias for each de otros lenguajes.

Es por ello que para mostrar por pantalla (o consola) los nombres del array tenemos que utilizar el índice como acceso al contenido del array. Es decir, ponerlo dentro de los corchetes.

  1. ombres[indice];

Utilizaremos esta sentencia dentro de la estructura Javascript for in:

  1. for (indice in nombres)
  2. document.write(nombres[indice]+"</br>");

Con estas pequeñas líneas y el uso de la estructura Javascript for in hemos volcado el contenido de los elementos del array por pantalla.

PHP » Crear un objeto desde un array en PHP

mayo 13, 2013 por Víctor Cuervo . 790 visitas 1 Comentario Imprimir Imprimir

Ya hemos visto como podemos crear un objeto en PHP de una forma sencilla. Ahora vamos a ver como podemos crear un objeto desde un array en PHP. Es decir, el objeto y las propiedades estarán definidas dentro de un array.

El objeto que vamos a crear en PHP representa a un libro con las siguientes propiedades:

Titulo - Las legiones malditas
Autor - Santiago Posteguillo
Editorial - Ediciones B
Fecha Publicación - 2008

Lo primero que haremos será definir el array en PHP con las propiedades del objeto:

  1. $miarray = array("titulo"=>"Las legiones malditas",
  2. "autor" => "Santiago Posteguillo",
  3. "editorial" => "Ediciones B",
  4. "fechaPublicacion" => 2008);

Vemos que el valor del índice de los elementos del array es el nombre de la propiedad y el valor del índice en el array es el valor de dicha propiedad.

En el código anterior hemos creado e insertado los valores del array directamente en la instanciación del mismo. Si bien podríamos ir por partes, si te resulta más sencillo:

  1. $miarray = array();
  2. $miarray["titulo"] = "Las legiones malditas";
  3. $miarray["autor"] = "Santiago Posteguillo";
  4. $miarray["editorial"] = "Ediciones B";
  5. $miarray["fechaPublicacion"] = 2008;

Si comprobamos la estructura de la variable $miarray, veremos que esta es, obviamente, de tipo array:

array(4) { ["titulo"]=> string(21) "Las legiones malditas" ["autor"]=> string(20) "Santiago Posteguillo" ["editorial"]=> string(11) "Ediciones B" ["fechaPublicacion"]=> int(2008) }

Lo siguiente que haremos será transformar el array a un objeto. Para ello forzamos la conversión de tipos anteponiendo el tipo al que queremos convertir en una asignación. En este caso creamos el objeto desde un array forzando el tipo object.

  1. $libro = (object)$miarray;

Si ahora comprobamos la estructura de $libro veremos lo siguiente:

object(stdClass)#1 (4) { ["titulo"]=> string(21) "Las legiones malditas" ["autor"]=> string(20) "Santiago Posteguillo" ["editorial"]=> string(11) "Ediciones B" ["fechaPublicacion"]=> int(2008) }

Ya hemos visto como crear un objeto desde un array en PHP.

PHP » Crear un objeto en PHP

mayo 12, 2013 por Víctor Cuervo . 850 visitas 1 Comentario Imprimir Imprimir

En PHP a parte de datos simples podemos trabajar con objetos. Objetos que tengan sus propiedades y métodos. Podemos crear un objeto en PHP a partir de una clase, como se haría de una manera formal, si bien podemos crear un objeto en PHP de forma directa, sin clase asociada.

El objeto que vamos a crear en PHP es un objeto que represente un libro.

Titulo - Las legiones malditas
Autor - Santiago Posteguillo
Editorial - Ediciones B
Fecha Publicación - 2008

Para crear un objeto en PHP lo primero será crear una variable que represente al libro. Para ello utilizamos la clase stdClass que sirve para representar un objeto.

  1. $libro = new stdClass();

Si queremos crear un objeto en PHP no es estrictamente necesario utilizar la clase stdClass, ya que al asignar a una variable una propiedad, automáticamente se convierte en un objeto.

Ahora empezaremos a asignarle las propiedades. Para asignar la propiedad a un objeto utilizamos el operador de asignación -> de la siguiente forma:

  1. $objeto->propiedad = "valor de la propiedad";

De esta forma para crear las propiedades del objeto libro en nuestro programa escribiremos lo siguiente:

  1. $libro->titulo = "Las legiones malditas";
  2. $libro->autor = "Santiago Posteguillo";
  3. $libro->editorial = "Ediciones B";
  4. $libro->fechaPublicacion = 2008;

En estas cuatro sencillas líneas hemos asignado las propiedades y valores. Como podemos comprobar habrá propriedades que sean cadenas y que pondremos entre comillas y propiedades que serán numéricas, como la fecha de publicación.

Ahora que hemos creado el objeto, podemos volcarle para ver su estructura mediante un var_dump.

  1. var_dump($libro);

En consola podremos ver la estructura que tiene nuestro objeto.

object(stdClass)#1 (4) { ["titulo"]=> string(21) "Las legiones malditas" ["autor"]=> string(20) "Santiago Posteguillo" ["editorial"]=> string(11) "Ediciones B" ["fechaPublicacion"]=> int(2008) }

Espero que os haya servido el código para poder crear un objeto en PHP.

PHP » Lista de números aleatorios únicos en PHP

mayo 7, 2013 por Víctor Cuervo . 1068 visitas Sin Comentarios Imprimir Imprimir

Cuando estamos trabajando con números aleatorios generados es posible que se nos repita uno de los números, más cuanto más acotado sea el conjunto de los números aleatorios con los que trabajemos. Ya vimos como generar una lista de números aleatorios en PHP, ahora vamos a generar una lista de números aleatorios únicos en PHP.

Lo primero, será crear el array que va a contener la lista:

  1. $valores = array();

En este caso no podemos utilizar un bucle de control finito como sería un for, ya que, a priori, no podemos saber cuantas veces necesitamos llamar a la función rand. Es por ello que definiremos una variable de control que nos ayude a controlar la lista de números aleatorios únicos.

  1. $x = 0;

Esta variable la iremos incrementando cada vez que encontremos un número aleatorio único.

Ahora montamos el bucle que controlará dicha variable. En el bucle $num representa el número máximo de números aleatorios únicos que queremos generar.

  1. while ($x<$num) {...}

Lo siguiente será generar el número aleatorio con rand. Por ejemplo, de 1 a 100.

  1. $num_aleatorio = rand(1,100);

Lo siguiente será realizar el control de si ya existe o no dicho número aleatorio. Para comprobar esto miramos dentro del array con la función in_array. Si no se encuentra el nuevo número aleatorio en el array es cuando lo insertamos en el array con array_push e incrementamos nuestra variable de control.

El código quedaría de la siguiente forma:

  1. while ($x<$num) {
  2. $num_aleatorio = rand(1,$max);
  3. if (!in_array($num_aleatorio,$valores)) {
  4. array_push($valores,$num_aleatorio);
  5. $x++;
  6. }
  7. }

Ya solo tendremos que darle utilidad a la lista de números aleatorios únicos en PHP. ¿Para qué lo podrías utilizar?