Está en la página 1de 18

SEMANA 6 – PROGRAMACIÓN

PROGRAMACIÓN

SEMANA 6
Arreglos

Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
IACCemitir, difundir, poner a disposición del público ni
permitido copiar, reproducir, reeditar, descargar, publicar,
utilizar los contenidos para fines comerciales de ninguna clase. 1
SEMANA 6 – PROGRAMACIÓN

APRENDIZAJE ESPERADO
• Utilizar fundamentos de arreglos, tipos de
arreglos y acciones posibles en programación
PHP.

IACC
2
SEMANA 6 – PROGRAMACIÓN

APRENDIZAJE ESPERADO..................................................................................................................... 2
INTRODUCCIÓN ................................................................................................................................... 4
1. ARREGLOS ................................................................................................................................... 5
1.1 FUNDAMENTOS DE LOS ARREGLOS .................................................................................... 5
1.1.1 ARREGLOS UNIDIMENSIONALES ................................................................................. 5
1.1.2 ARREGLOS BIDIMENSIONALES .................................................................................... 9
1.2 TIPOS DE ARREGLOS .......................................................................................................... 11
1.2.1 INDEXADOS................................................................................................................ 11
1.2.2 POR ASOCIACIÓN ...................................................................................................... 12
1.3 ACCIONES CON ARREGLOS ................................................................................................ 13
1.3.1 FOREACH() ................................................................................................................. 13
1.3.2. LIST() .......................................................................................................................... 14
COMENTARIO FINAL.......................................................................................................................... 16
REFERENCIAS ..................................................................................................................................... 17

IACC
3
SEMANA 6 – PROGRAMACIÓN

INTRODUCCIÓN
Un arreglo es un tipo o colección de datos que La ventaja de los arreglos es que permite
existe en todos los lenguajes de organizar la información de manera
programación, incluyendo PHP. Esta estructurada, de manera que pueda ser
colección de datos tiene una estructura que consultada y operada por un algoritmo y por
permite almacenar distintos datos de un las estructuras de control y repetitivas
mismo tipo y de ahí la importancia de conocer estudiadas anteriormente.
este grupo de elementos.

En esta unidad se definirá qué es un arreglo y


cómo es su implementación en PHP,
abordando también los tipos de arreglos y las
operaciones principales que se pueden
ejecutar sobre los mismos.

De acuerdo con ello, se dirá que un arreglo es


el tipo de datos que se utilizaría si se quiere
almacenar una lista de nombres, una tabla de
notas de estudiantes, incluso una lista de
precios o registros de temperaturas. Su
función y aplicaciones son múltiples, lo que lo
hace una estructura de datos realmente
importante dentro de la programación.

La nueva información hace posible las nuevas ideas.

Zig Ziglar

IACC
4
SEMANA 6 – PROGRAMACIÓN

1. ARREGLOS
Un arreglo es un conjunto de variables de un mismo tipo, con el que se puede entrar a cada
elemento individual, a través de un número entero llamado “índice”. Esta estructura de datos
permite tener una colección de elementos de un mismo tipo. A continuación, se conocerán los
fundamentos de los arreglos, los tipos de arreglos y las acciones que se pueden ejecutar a partir de
ellos.

1.1 FUNDAMENTOS DE LOS ARREGLOS


Los arreglos se clasifican en función del número de dimensiones o índices que manejan, siendo
los más usados los arreglos unidimensionales (de una dimensión) o bidimensionales (de dos
dimensiones).

1.1.1 ARREGLOS UNIDIMENSIONALES


Los arreglos unidimensionales son vectores o arreglos de una dimensión, es decir, que solo
contienen un índice. En la siguiente imagen (figura 1) se muestra la estructura de un arreglo
unidimensional:

Figura 1. Estructura de un arreglo unidimensional.


Fuente: https://bit.ly/2qo5GaD

En la figura 1, se puede observar que el arreglo está compuesto de un número de posiciones, y que
cada posición representa un dato almacenado del mismo tipo. Además, se identifica un primer
elemento o posición inicial y un último elemento o posición final.

Algunas características de estos arreglos son:

• El número de elementos es finito, es decir, el arreglo tiene un número de posiciones fijas


que no cambian.

IACC
5
SEMANA 6 – PROGRAMACIÓN

• El tipo de elementos es homogéneo, es decir un arreglo de nombres de personas solo


almacena cadenas string de caracteres.
• Para acceder a un elemento del arreglo, se tiene un único índice que se asocia a la posición
del dato dentro de la estructura.
• El acceso a un dato del arreglo se realiza de manera directa, por lo que no hay que conocer
el elemento anterior o posterior a la posición que se quiere ingresar.

En PHP es posible hacer un arreglo utilizando las funciones list() o array(). Un ejemplo de cómo hacer
una declaración de un arreglo se muestra a continuación:

<?php

$estacion[0] = "Primavera";

$estacion[1] = "Verano";

$estacion[2] = "Otoño";

$estacion[3] = "Invierno";

echo $estación[2];

$numero[0] = 7;

$numero[1] = 11;

$numero[2] = 15;

?>

Al ejecutar el código anterior, por tener la instrucción echo, se mostrará en pantalla lo siguiente:

IACC
6
SEMANA 6 – PROGRAMACIÓN

De igual manera, se puede generar un arreglo solo añadiendo valores al arreglo; para esto, se debe
asignar un valor a una variable array utilizando corchetes vacíos y el valor se le añade al final del
arreglo.

$a[] = "hola"; // $a[2] == "hola"


$a[] = "mundo"; // $a[3] == "mundo"$a[0] = "abc";

PHP admite también otra posibilidad que no es admitida por otros lenguajes: se pueden usar arrays
sin especificar los números de los índices, los que PHP coloca automáticamente. También es
importante considerar que los arreglos comienzan numerándose con cero “0” como posición inicial.
Un ejemplo de lo anterior se observa en el siguiente ejemplo:

<?php

$ciudad[] = "Santiago";

$ciudad[] = "Roma";

$ciudad[] = "Paris";

$ciudad[] = "Valencia";

echo $ciudad[3];

?>

Al ejecutar el código anterior se observa como salida:

IACC
7
SEMANA 6 – PROGRAMACIÓN

Otra forma de definir arreglos unidimensionales en PHP es asignando todos los valores en un vector:

<?php
$color = array("rojo", "verde", "amarillo", "negro");
echo $color[1];
?>

Al crear el arreglo anterior, el mensaje echo mostraría en pantalla verde.

Esta es la forma resumida o abreviada para declarar un arreglo unidimensional y puede


generalizarse como:

$nombreDelArreglo = array (valorElemento0, valorElemento1, valorElemento2, … ,


valorElementon)

El término array es una palabra reservada en PHP cuyo significado es equivalente a decir “arreglo
de datos”.

• En el siguiente enlace se muestra la documentación oficial de


PHP, con ejemplos que se pueden ejecutar en PHPTester:

http://php.net/manual/es/language.types.array.php

IACC
8
SEMANA 6 – PROGRAMACIÓN

• A continuación se muestran ejemplos adicionales en donde se


implementa el uso de arreglos unidimensionales:

https://bit.ly/2TcHQvQ

1.1.2 ARREGLOS BIDIMENSIONALES

Los arreglos bidimensionales son matrices de dos dimensiones que se pueden ver como tablas, en
donde cada elemento tiene una fila y una columna. Sus dimensiones son usualmente definidas como
filas y columnas. Bajo esta estructura se almacenan datos con dos índices, como se puede observar
en la siguiente imagen (figura 2):

Figura 2. Representación de un arreglo bidimensional.


Fuente: https://bit.ly/2yIILv9

La combinación de una fila y una columna se denomina celda y es allí en donde el dato se almacena
propiamente. Para acceder a él, se deben conocer la posición de la fila y de la columna, por lo tanto,
los dos índices deben ser conocidos. Estos arreglos son finitos, por ende, tienen un inicio y un final.
Un ejemplo, se puede observar en el siguiente código:

IACC
9
SEMANA 6 – PROGRAMACIÓN

<?php
$animal[0][0] = "Perro";
$animal[0][1] = "Gato";
$animal[1][0] = "Lombriz";
$animal[1][1] = "Burro";
$animal[2][0] = "Murciélago";
$animal[2][1] = "Cocodrilo";
echo $animal[2][1];
echo $animal[0][0];
?>

Al ejecutar este código, se observará lo siguiente en pantalla:

Estas cadenas (Cocodrilo, Perro) son las almacenadas en las posiciones indicadas en el comando
echo. Por otra parte, en PHP la función array() también se puede anidar en los arreglos
multidimensionales, como se puede observar en el siguiente ejemplo:

<?php
$a = array(
"manzana" => array( "color" => "rojo", "sabor" =>
"dulce",
"forma" => "redondeada"
),
"naranja" => array( "color" => "naranja", "sabor" =>
"ácido",
"forma" => "redondeada"
),
"plátano" => array(
"color" => "amarillo", "sabor" => "paste-y", "forma"
=> "aplatanada"
)
);

echo $a["manzana"]["sabor"]; # devolverá "dulce"


?>

IACC
10
SEMANA 6 – PROGRAMACIÓN

Un tercer ejemplo de arreglo bidimensional, es el que se muestra a continuación:

$equipo_futbol = array
(
array("Carlos","Luis","Pedro"),
array("Suarez"),
array("Gomez","Garcia","Velasco")
);

foreach($equipo_futbol as $equipo)
{
echo "En este equipo juegan: ";
foreach($equipo as $jugador)
{
echo $jugador ." ";
}
echo "<br>";
}

1.2 TIPOS DE ARREGLOS


1.2.1 INDEXADOS
Este arreglo es una variable donde se puede guardar varios datos a la vez. Estos datos conforman
una lista, la que tendrá un nombre único. También se pueden definir con el nombre de vectores,
listas, matrices, arrays o tablas. Tiene índices numéricos y se accede con un número entero a cada
valor del mismo:

$variable = array($valorA, $valorB, $valorC,...);

Considerando que,

$variable: Es la variable donde se guardará el array.


$valorA, $valorB y $valorC: Valores de cada elemento.

IACC
11
SEMANA 6 – PROGRAMACIÓN

1.2.2 POR ASOCIACIÓN


En un arreglo asociativo, cada elemento se compone de un valor y una clave. Es decir, el valor será
el elemento en sí, mientras que la clave será el índice con el que llamamos al elemento. Para crear
el arreglo se define cada elemento, el que está conformado por dos partes: una, la clave, y otra, el
valor. El elemento se escribe de la manera a continuación: "clave"=>"valor".

Para leer un elemento de un arreglo asociativo, se debe conocer su clave, la que se escribe entre
corchetes luego de la variable que lo contiene.

<?php
$colores_vehiculos = array(

'auto' => 'Azul',


'moto' => 'Negro',
'avion' => 'Blanco'
);
echo $colores_vehiculos['moto'];
?>

Otro ejemplo en donde se declara un arreglo asociativo se puede apreciar en el siguiente código:

$equipo = array(portero=>'Josè', defensa=>'Luis',


medio=>'Pedro', delantero=>'Torres');

foreach($equipo as $posicion=>$jugador)
{
echo "El " . $posicion . " es " . $jugador;
echo "<br>";
}

El código mostrado anteriormente se asigna a cada jugador o persona una posición dentro del
juego y con la función foreach se pueden extraer valores. Por ejemplo, al escribir:

//así estaría accediento al valor de la clave de la posición delantero

IACC
12
SEMANA 6 – PROGRAMACIÓN

$equipo['delantero'];

• Se sugiere probar en PHPTester los ejemplos que se


presentan en el siguiente enlace, para comprobar el
funcionamiento de los diferentes tipos de arreglos:

https://bit.ly/2AF7x0S

1.3 ACCIONES CON ARREGLOS


La primera acción consiste en definir funciones para recorrer arreglos. Estas funciones se empezaron
a estudiar en el punto anterior, en donde se brindaron detalles sobre la función foreach().

1.3.1 FOREACH()
Proporciona una forma fácil de realizar una acción repetidas veces sobre un array o un objeto, y
presentará un error al intentar usarlo con una variable que no haya sido inicializada, o con una
variable de un tipo diferente de datos.

Existen dos sintaxis. La primera es:

foreach (expresión_array as $valor)

En esta forma, se recorre el array dado por expresión_array. En cada repetición, al elemento actual
se le asigna el valor a $valor y el puntero interno del arreglo pasa una posición.

foreach (expresión_array as $clave => $valor)

En esta segunda forma, se le asigna la clave del elemento actual a la variable $clave en cada
repeticion. A su vez, para poder cambiar los elementos del arreglo dentro del bucle, se colocará el
símbolo & antes de $valor. De este modo, el valor asignado será por referencia.

IACC
13
SEMANA 6 – PROGRAMACIÓN

<?php
$array = array(1, 2, 3, 4);
foreach ($array as &$valor) {
$valor = $valor * 2;
}
// $array ahora es array(2, 4, 6, 8)
unset($valor); // rompe la referencia con el último
elemento

?>

• En el siguiente enlace, se muestra la documentación oficial de


PHP, brindando ejemplos con funciones para recorrer
arreglos

http://php.net/manual/es/control-structures.foreach.php

1.3.2. LIST()
Desde la versión de PHP 5.5, existe la posibilidad de recorrer un arreglo y usar el arreglo interior en
las variables del bucle, confiriendo list() como el valor. Por ejemplo:

<?php
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
// $a contiene el primer elemento del array interior,
// y $b contiene el segundo elemento.
echo "A: $a; B: $b\n";
}
?>

IACC
14
SEMANA 6 – PROGRAMACIÓN

En PHP, existen funciones preestablecidas que permiten operar arreglos. Algunas de estas funciones
son:

• implode(): Convierte un array en una cadena de texto.


• explode(): Convierte un string en un array.
• foreach(): Función para recorrer arrays.
• count(): Cuenta el número de elementos.
• sizeof(): Alias de la función count().
• array_push(): Añade nuevos elementos.
• sort(), asort() y ksort(): Ordena los arrays.
• unset(): Elimina elementos.
• var_export(): Muestra el valor.
• var_dump(): Muestra el valor
• print() y print_r(): Muestra el valor.
• shuffle(): Desordena un array.
• array_merge(): Une varios arrays en uno.
• array_search(): Busca valores en un array.
• array_rand(): Devuelve una clave aleatoria.
• array_chunk(): Divide arrays en varios arrays.
• str_split(): Convierte un string en un array.
• preg_split(): Convierte un string en un array con expresiones regulares.
• array_unique: Eliminar los valores duplicados de un array

IACC
15
SEMANA 6 – PROGRAMACIÓN

COMENTARIO FINAL
Como se ha visto, los arreglos permiten optimizar el diseño de estructuras de datos por parte del
programador. Esta semana se ha estudiado cómo un arreglo es la estructura que, en programación,
es equivalente a las matrices y los vectores que se estudian en matemática. Uno de los grandes
motivos que se recomiendan para utilizar arreglos es por la facilidad para organizar los datos y poder
operarlos, además que existe mucha documentación oficial en PHP como manuales técnicos y
tutoriales para definir y programar este tipo de estructura de datos, lo que le permite al
desarrollador de software realizar ajustes y adaptaciones a la hora de declararlos y operarlos en sus
programas.

Esta estructura de datos se puede combinar con los elementos estudiados en las clases anteriores
e integrar el uso de condiciones y ciclos repetitivos con los arreglos con el objetivo de construir
programas y aplicaciones con más potencialidades y que permitan un mejor manejo y gestión de los
datos.

IACC
16
SEMANA 6 – PROGRAMACIÓN

REFERENCIAS

Barrena, A. (2016). Tipos de arreglos. (sitio web). Recuperado de: https://bit.ly/2AF7x0S

The PHP Group. (2001 – 2018). PHP. Recuperado de: www.php.net

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2018). Arreglos. Programación. Semana 6.

IACC
17
SEMANA 6 – PROGRAMACIÓN

IACC
18

También podría gustarte