Foros del Web » Programando para Internet » PHP »

Porque no funciona? (Muy sencillo)

Estas en el tema de Porque no funciona? (Muy sencillo) en el foro de PHP en Foros del Web. Hola! Quiero crear un array y imprimirla... tan sencillo como esto, porque no funciona? El error: Me imprime en pantalla Array ( [4] => 10 ...
  #1 (permalink)  
Antiguo 16/07/2007, 12:17
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 12 años, 4 meses
Puntos: 2
Porque no funciona? (Muy sencillo)

Hola!

Quiero crear un array y imprimirla... tan sencillo como esto, porque no funciona?
El error: Me imprime en pantalla Array ( [4] => 10 ) cuando lo que quiero es que me imprima todo el array completo, porque solo me crea un indice?
Creo que debe ser porque el bucle es infinito, no?
Código:
<?php
$valor_uno =2;
$indice_uno = 0;
while ($valor_uno <11)
	{$array_uno = array($indice_uno => $valor_uno);
	$valor_uno = $valor_uno + 2;
	$indice_uno = $indice_uno + 1;
	}
print_r ($array_uno);
?>
Gracias a todos, se que esto es de novatiiiisimo

Última edición por extrem_bcn; 16/07/2007 a las 13:04
  #2 (permalink)  
Antiguo 16/07/2007, 12:42
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 16 años, 6 meses
Puntos: 60
Re: Porque no funciona? (Muy sencillo)

Seguramente.. por que olvidaste.. poner los $ en las variables dentro del while..

Código PHP:
<?php
$valor_uno 
=2;
$indice_uno 0;
while (
$valor_uno <11)
    {
$array_uno = array($indice_uno => $valor_uno);
    
$valor_uno $valor_uno 2;
    
$indice_uno $indice_uno 1;
    }
print_r ($array_uno);
?>
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #3 (permalink)  
Antiguo 16/07/2007, 13:02
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: Porque no funciona? (Muy sencillo)

Perdona, el error no era ese (si que es verdad que faltan los $) el error está en que le hago el print_r y no me muestra el array con todos sus elementos, solo me muestra Array ( [4] => 10 ) Yo quiero que me los muestre todos.
  #4 (permalink)  
Antiguo 16/07/2007, 13:47
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 14 años, 6 meses
Puntos: 0
Re: Porque no funciona? (Muy sencillo)

Código PHP:
$valor_uno =2;
$indice_uno 0;

$array_uno = array(array('indice'=> $indice_uno'valor' => $valor_uno));


while (
$valor_uno 11)
    {
    
    
$valor_uno+=2;
    
$indice_uno++;
    
    
array_push($array_uno, array('indice'=>$indice_uno'valor' => $valor_uno));
    
    }

print_r($array_uno); 
__________________
El principio de la sabiduría es el temor de Jehová
Visita mi Blog
  #5 (permalink)  
Antiguo 16/07/2007, 13:49
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 16 años, 6 meses
Puntos: 60
Re: Porque no funciona? (Muy sencillo)

Lo que sucede es que en cada vuelta del While vuelves a Re-crear el array y este se hace nuevo con cada dato.. entonces solo al final vas a tener uno..

la idea es que solo agregues elementos.. imagino que algo asi.. ademas recuerda que el indice es automatico..

Código PHP:
<?php

$valor_uno 
=2;
$indice_uno 0;
$array_uno = array();
while (
$valor_uno <11)
    {
    
$array_uno[] = $valor_uno;
    
$valor_uno $valor_uno 2;
    
$indice_uno $indice_uno 1;
    }
echo 
"<pre>";
print_r($array_uno);
echo 
"</pre>";
?>
Sin embargo cumpliendo con tu estructura seria asi..

Código PHP:
<?php

$valor_uno 
=2;
$indice_uno 0;
$array_uno = array();
while (
$valor_uno <11)
    {
    
$array_uno[] = array($indice_uno => $valor_uno);
    
$valor_uno $valor_uno 2;
    
$indice_uno $indice_uno 1;
    }
echo 
"<pre>";
print_r($array_uno);
echo 
"</pre>";
?>
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #6 (permalink)  
Antiguo 16/07/2007, 13:58
 
Fecha de Ingreso: julio-2005
Mensajes: 5
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Porque no funciona? (Muy sencillo)

Solo tienes que imprimir el array dentro del while.

<?php
$valor_uno =2;
$indice_uno = 0;
while ($valor_uno <11)
{$array_uno = array($indice_uno => $valor_uno);
$valor_uno = $valor_uno + 2;
$indice_uno = $indice_uno + 1;
print_r ($array_uno);

}
?>
  #7 (permalink)  
Antiguo 16/07/2007, 14:02
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 16 años, 6 meses
Puntos: 60
Re: Porque no funciona? (Muy sencillo)

Cita:
Iniciado por karl17 Ver Mensaje
Solo tienes que imprimir el array dentro del while.

<?php
$valor_uno =2;
$indice_uno = 0;
while ($valor_uno <11)
{$array_uno = array($indice_uno => $valor_uno);
$valor_uno = $valor_uno + 2;
$indice_uno = $indice_uno + 1;
print_r ($array_uno);

}
?>
Pero al hacer esto, estas de acuerdo que se esta engañando a si mismo.. por que el array no tiene todos los datos solo el ultimo ;)
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #8 (permalink)  
Antiguo 16/07/2007, 14:05
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: Porque no funciona? (Muy sencillo)

Ahora si que no entiendo nada.

Resulta que el codigo que ha puesto _ssx yo lo habia utilizado antes excepto que no ponia el []
Código:
...
while ($valor_uno <11)
    {
    $array_uno[] = array($indice_uno => $valor_uno);
    $valor_uno = $valor_uno + 2;
    $indice_uno = $indice_uno + 1;
    }
...
Mi pregunta es... porque con los MALDITOS [] si funciona y sin [] lo que hace es solo crearme el ultimo elemento?

Vamos ... en todos los libros pone que una de las manera de definir un array es
Código:
$mi_array = array (indice => contenido )
  #9 (permalink)  
Antiguo 16/07/2007, 14:08
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 16 años, 6 meses
Puntos: 60
Re: Porque no funciona? (Muy sencillo)

Cita:
Iniciado por extrem_bcn Ver Mensaje

Vamos ... en todos los libros pone que una de las manera de definir un array es
Código:
$mi_array = array (indice => contenido )
Tu mismo lo has dicho.. una forma de DEFINIR.. osea crear.. pero para agregarle datos.. es con [] o con array_push sin embargo la segunda forma es menos recomendada por que es una funcion.. y pues es un gasto extra.. en consumo de recursos..

y segun tu logica estarias RE-CREANDO en cada vuelta el array.. por eso con estos [] le dices.. "oye ya tengo el array creado.." solo agregale datos.. ;)
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #10 (permalink)  
Antiguo 16/07/2007, 14:58
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: Porque no funciona? (Muy sencillo)

ok! muchas gracias! por un par de [] ... jejeje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:42.