• Domingo 5 de Mayo de 2024, 06:32

Autor Tema:  Paso de arrays  (Leído 1336 veces)

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Paso de arrays
« en: Miércoles 29 de Octubre de 2008, 19:16 »
0
Hola de nuevo^^

tengo un pequeño problemilla trabajando con el paso de arrays entre funciones en php

en este caso he consegido pasar el array  a una funcion a trave´s de un formulario que recarga la pagina.
Código: Text
  1. <?php
  2. //devolvera el contenido del array
  3. function con_array($v)
  4. {
  5.     foreach($v as $valor)
  6.         echo($valor."<br>");
  7.         echo("adios");
  8.     return $v;
  9. }
  10.  
  11.  
  12. //creo el array
  13.     $v[0]="0";
  14.     $v[1]="A";
  15.     $v[2]="b";
  16.  
  17. //muestro el boton y paso el array para que se reciba en la misma pagina
  18. echo("
  19. <form name='formu'  method='post' action='index.php?op=1'>
  20. <input type='submit' value='ok' name='ok'>
  21. <input type='hidden' value='$op' name='op'>
  22. <input type='hidden' value='el arrray' value=$v>
  23. </form>
  24. ");
  25. //miro si $op tiene valor, si lo tiene es que el boton ha sido pulsado
  26. switch($op)
  27. {
  28. //caso que si llama a con_array
  29.     Case op==1:
  30.     echo("HOla");
  31.     con_array($v);
  32. //caso que no
  33.     Default:
  34.         echo("No hay nada<br>");
  35.        
  36.        
  37. }
  38. >?
  39.  

El problema es que se visualiza todo

Citar
[BOTON]
HOla0
A
b
adiosNo hay nada

tanto si lo pulso como si no

esto que parece una tonteria quiero que me sirva para otra cosilla, a ver si simplificando veo los fallos
gracias.


shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Paso de arrays
« Respuesta #1 en: Miércoles 29 de Octubre de 2008, 19:43 »
0
Al final de un case, siempre debes poner un break (a menos que esté de último):
Código: PHP
  1. switch($variable)
  2. {
  3.   case 'valor1':
  4.     // Accion a realizar
  5.     break;
  6.   case 'valor2':
  7.     // Otra accion
  8.     break;
  9.   default:
  10.     // accion por defecto
  11. }
  12.  

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Paso de arrays
« Respuesta #2 en: Miércoles 29 de Octubre de 2008, 20:08 »
0
cierto, gracias... hay dias que porque tengo la cabeza sobre los hombros XD

aún así muestra el array antes de pulsar el boton : (

he probado también con $_POST y  es lo mismo...


shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Paso de arrays
« Respuesta #3 en: Jueves 30 de Octubre de 2008, 15:21 »
0
Ahora que entro a ver con detalle el código, veo algunas cositas:

1. $op no lo declaras en ninguna parte. A menos que tengas register_globals en on (php.ini, poco recomendable), deberías llamarla con $_GET['op']
2. case op==1: ?? de verdad creo que no era tu día cuando escribiste eso :P

Yo lo haría así:
Código: PHP
  1. if(isset($_GET['op']) && $_GET['op'] != '')
  2. {
  3.   echo 'Hola<br />';
  4.   con_array($v);
  5. }
  6. else
  7. {
  8.   echo 'No hay nada';
  9. }
  10.  

Si lo deseas hacer con switch, en vez de poner case op==1: pon case 1: o case '1':

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

Kyrylys

  • Miembro activo
  • **
  • Mensajes: 80
    • Ver Perfil
Re: Paso de arrays
« Respuesta #4 en: Jueves 30 de Octubre de 2008, 16:55 »
0
Muchisimas gracias ^^
 :wacko:  si... a veces soy un despiste conpatas...sorry

Un saludo  :good: