• 0
  • 15 RepliesReplies
  • 13459 ReadTimes Read
  • 53 PointsPoints

Topic: PHP 5 - Arrays (parte 1)

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
PHP 5 - Arrays (parte 1)
February 19, 2013 - 09:05 21:05
Arrays

Bueno, quiero empezar diciéndoles que en este capítulo de arrays, seré yo quien les trate de explicar un poquito sobre el tema en cuestión, pues 4kstore estuvo de vacaciones. Debo advertirles que, soy una persona que explica de una manera "pre-escolar", así que por favor no se sientan ofendidos si soy muy reiterativo o demasiado descriptivo, perdónenme :)

Ahora sí, entremos a la materia. Me gustaría empezar con dos escenarios donde uno de ellos usará arrays y el otro no; de esta forma podemos comparar un poco el potencial de los arrays. La idea de este artículo es que ustedes puedan:

* Crear una array (parte 1)
* Manipular un array  (parte 1)
* Distinguir los tipos de arrays
* Reconocer con mayor facilidad los ambientes donde se pueda usar arrays


Dicho lo anterior, empecemos con un pequeño ejemplo. El código a continuación es común verlo entre personas que empiezan a programar:

// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
$persona0 "Pedro";
    
$persona1 "marta";
    
$persona2 "Salomé";
    
// strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    
echo "<br />persona0: " strtoupper($persona0); 
    echo 
"<br />persona1: " strtoupper($persona1);
    echo 
"<br />persona2: " strtoupper($persona2);  
}


Si ejecutamos el ejemplo anterior, el resultado sería algo así:

Quote
persona0: PEDRO
persona1: MARTA
persona0: SALOMÉ


Todo hasta acá se ve normal, código bien hecho, sin errores, y la verdad es que contiene un formato correcto. Pero, ¿que pasaría si son 50 personas las que tenemos que cambiarle el nombre a mayúscula? ¿y si son cientos de nombres? Es entonces cuando un array empieza a jugar un rol importante.

¿Qué es un array? Con mis propias palabras puedo decir que es una tabla donde almacenas muchos valores, y la forma de accesar a cada uno de esos valores es por medio de un índice, o un identificar único. Estructuralmente un array se vería asi:

Quote
posicion 0 = "Pedro"
posicion 1  = "marta"
posicion 2  = "Salomé"

A la tabla anterior la llamaremos tabla_de_personas, que en realidad está simulando la estructura de un array. Un array es una sola variable con muchos valores, por lo tanto, podemos acceder al nombre de marta sabiendo que está en la "posición 1". Veamos:

$marta tabla_de_personas[1];

NOTA: Los lenguajes de programación, entre ellos php, usualmente sus numeros naturales para índices empieza en 0 y no 1.


No se alarmen con los paréntensis cuadrados, ya que es la forma correcta de acceder a un valor a través de un índice.  Si notan, la posición 1 está siendo bastante explicita para identificar que queremos el valor en dicha posición. Y asi sucesivamente podemos obtener a Pedro haciendo tabla_de_personas[0]. Aprovechando estos datos, vamos a crear exactamente el mismo ejemplo anterior pero con el uso de los arrays:


// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{

    
$personas[0] = "Pedro";
    
$personas[1] = "marta";
    
$personas[2] = "Salomé";

    echo 
"<br />persona0: " strtoupper($personas[0]);
    echo 
"<br />persona1: " strtoupper($personas[1]);
    echo 
"<br />persona2: " strtoupper($personas[2]);  
}


¿Notan como solo estoy trabajando con una sola variable y cómo se juega con las posiciones? Ahora bien, podemos hacer una pausa aquí para destacar dos cosas importantes:

1. La asignación de un valor: la manera de cómo agregar un valor al array

$personas[0] = "Pedro";

2. La extracción de un valor: la manera de cómo devolver un valor del array

$persona = $personas[2];   // Salomé


Pero aún no hemos resuelto el problema de los "50 nombres", es decir, ¿cuál es la mejor manera de hacer el texto mayúscula de 50 nombres sin tenenr que pasar por el doloroso proceso de escribir 50 líneas adicionales? Bien, veamos:


// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
$personas[0] = "Pedro";
    
$personas[1] = "marta";
    
$personas[2] = "Salomé";
    
//aca las otras personas
    // Recuerden que el primer elemento es "0", entonces no es necesario llegar al indice "50" porque implicaría tener 51 elementos
    
$personas[49] = "Carolina"

    
//empezar el indice en 0; mientras el indice sea menor o igual a 49; por cada iteración sumar +1 al indice 
    
for ($indice 0$indice <= 49$indice ++)
        echo 
"<br />persona: " $indice .": "strtoupper($personas[$indice]); //notese como el indice cambia dinamicamente
}

Con ayuda de un for estamos manipulando los valores de todo el array sin la necesidad de estar multiplicando código ni llevando diversas variables por toda nuestra aplicación.

Finalmente, quisé que los códigos de arriba les resultara lo mas sencillo posible, porque la segunda parte va a requerir bastante entendimiento de lo que acabamos de ver. Por favor, si tienen alguna duda o quieren que aportemos más apuntes a este artículo por favor háganlo saber con toda confianza.
soporte privado: manfredjb@hotmail.com
You do not have permission to give points
point 53 Points

Users who gave points in this topic » Lean (20 Pts) » 4kstore (20 Pts) » Papacho (10 Pts) » Crisss.dj (3 Pts) 

Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:PHP 4 - Arrays (parte 1)
Reply #1 February 19, 2013 - 11:50 23:50
Espectacular manix! mas claro imposible...

Usuario: Lean
Rango: Fundador
Mensajes: 6782
Points: 236
Perfil: View Profile
Pais:
ar
Re:PHP 4 - Arrays (parte 1)
Reply #2 February 20, 2013 - 12:23 00:23
Tremendo!!! Super bien explicado! Espero que los alumnos sepan valorar esto, no se encuentra en cualquier lado una explicacion asi.
+20

no avatar
Usuario: Papacho
Rango: User Supremo
Mensajes: 477
Points: 534
Mi web: http://wers.com.ar/
Perfil: View Profile
Pais:
ar
Re:PHP 5 - Arrays (parte 1)
Reply #3 February 20, 2013 - 12:33 00:33
Esta bien explicado yo no entiendo mucho porque no empeze con el php 1 todavia osea lo vi por encima todo eso. Mañana me pongo a analizar todo, gracias!

Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:PHP 5 - Arrays (parte 1)
Reply #4 February 20, 2013 - 12:35 00:35
Si es de tu interes papacho, te recomiendo que aproveches todo esto porque es un lugar donde no solo podes leer todo sino que también te podes sacar las dudas

no avatar
Usuario: Papacho
Rango: User Supremo
Mensajes: 477
Points: 534
Mi web: http://wers.com.ar/
Perfil: View Profile
Pais:
ar
Re:PHP 5 - Arrays (parte 1)
Reply #5 February 20, 2013 - 12:41 00:41
Si si mañana empiezo con el php 1 y de ahi veo todos si tengo dudas comento

Usuario: Adr1
Rango: Nuevo Usuario
Mensajes: 119
Points: 9
Mi web: http://rainbow6.es
Perfil: View Profile
Pais:
es
Re:PHP 5 - Arrays (parte 1)
Reply #6 February 20, 2013 - 10:10 10:10
Muchisimas gracias, los arrays en lo que mas flojo llevo de php. De verdad gracias. ;)

Usuario: Lambo
Rango: Excelente User
Mensajes: 94
Points: 64
Mi web: http://foro.breackerz.com
Perfil: View Profile
Pais:
mx
Re:PHP 5 - Arrays (parte 1)
Reply #7 February 20, 2013 - 03:31 15:31
A veces no le entendia mucho pero con esto no me quedan dudas  8)

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
PHP 5 - Arrays (parte 1)
Reply #8 February 20, 2013 - 03:42 15:42
Esa es la idea, tener la menor cantidad de dudas posible

Usuario: rap
Rango: Nuevo Usuario
Mensajes: 133
Points: 1
Mi web: http://www.chile-pro.com/
Perfil: View Profile
Pais:
cl
Re: PHP 5 - Arrays (parte 1)
Reply #9 February 20, 2013 - 11:00 23:00
Presente :)) que notable poder acceder a esta informacion tan valiosa, muy agradecido del equipo de smf simple

Enviado desde mi LG-P990 usando Tapatalk 2

Usuario: Crisss.dj
Rango: Nuevo Usuario
Mensajes: 57
Points: 7
Mi web: http://paratidj.eshost.es
Perfil: View Profile
Pais:
ec
Re:PHP 5 - Arrays (parte 1)
Reply #10 February 23, 2013 - 01:23 13:23
presente!! siento llegar un poco tatde jejejej pero aquí estoy, en el foro no podía ver que había nuevo tema entre al sub foro y allí note que si había nuevo tema gracias por la informacion a leerla.. (y)

Usuario: rap
Rango: Nuevo Usuario
Mensajes: 133
Points: 1
Mi web: http://www.chile-pro.com/
Perfil: View Profile
Pais:
cl
Re:PHP 5 - Arrays (parte 1)
Reply #11 February 26, 2013 - 03:08 15:08
Estaba practicando y al ingresar este código me salio error

Code: [Select]
<?php
$persona0 
"Pedro";
$persona1 "marta";
$persona2 "Salomé";

// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
// strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    
echo "<br />persona0: " strtoupper($persona0); 
    echo 
"<br />persona1: " strtoupper($persona1);
    echo 
"<br />persona2: " strtoupper($persona2);  
}

?>

el error es:


Notice: Undefined variable: persona0 in C:\V2\smf1.php on line 13

persona0:
Notice: Undefined variable: persona1 in C:\V2\smf1.php on line 14

persona1:
Notice: Undefined variable: persona2 in C:\V2\smf1.php on line 15

persona2:


La verdad es que no entendí mucho, los capítulos anteriores lo había entendido bien, pero este me esta constando un poco mas,, entre los 2 códigos, la diferencia que veo son los [ ] corchetes, no se si alguien me lo podría explicar de otra forma.

gracias amigos

Usuario: Adr1
Rango: Nuevo Usuario
Mensajes: 119
Points: 9
Mi web: http://rainbow6.es
Perfil: View Profile
Pais:
es
Re:PHP 5 - Arrays (parte 1)
Reply #12 February 27, 2013 - 02:08 14:08
function hacerMayusculas()
{
    // strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    echo "<br />$persona0: " . strtoupper($persona0);
    echo "<br />$persona1: " . strtoupper($persona1);
    echo "<br />$persona2: " . strtoupper($persona2); 
}

te falto agregar el simbolo $

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:PHP 5 - Arrays (parte 1)
Reply #13 February 27, 2013 - 02:32 14:32
Estaba practicando y al ingresar este código me salio error

Code: [Select]
<?php
$persona0 
"Pedro";
$persona1 "marta";
$persona2 "Salomé";

// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
// strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    
echo "<br />persona0: " strtoupper($persona0); 
    echo 
"<br />persona1: " strtoupper($persona1);
    echo 
"<br />persona2: " strtoupper($persona2);  
}

?>

el error es:


Notice: Undefined variable: persona0 in C:\V2\smf1.php on line 13

persona0:
Notice: Undefined variable: persona1 in C:\V2\smf1.php on line 14

persona1:
Notice: Undefined variable: persona2 in C:\V2\smf1.php on line 15

persona2:


La verdad es que no entendí mucho, los capítulos anteriores lo había entendido bien, pero este me esta constando un poco mas,, entre los 2 códigos, la diferencia que veo son los [ ] corchetes, no se si alguien me lo podría explicar de otra forma.

gracias amigos

Por favor vuelve a revisar el código del tutorial, se me ha pasado un detalle que ya he resulto. :-)

Se nota que los demás revisaron!

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:PHP 5 - Arrays (parte 1)
Reply #14 February 27, 2013 - 02:33 14:33
function hacerMayusculas()
{
    // strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    echo "<br />$persona0: " . strtoupper($persona0);
    echo "<br />$persona1: " . strtoupper($persona1);
    echo "<br />$persona2: " . strtoupper($persona2); 
}

te falto agregar el simbolo $
Aunque no es la solución, te lo agradezco mucho de todas formas :-)

 

TAGS



Subject Replies
PHP Started by 4kstore 12 Replies
14647 Views
PHP Started by 4kstore 23 Replies
16476 Views
PHP Started by 4kstore 20 Replies
15855 Views
PHP Started by 4kstore 25 Replies
17635 Views
Tutoriales y Tips SMF Started by 4kstore 4 Replies
6433 Views
top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines