Foros del Web » Programando para Internet » PHP »

pasar array en una función

Estas en el tema de pasar array en una función en el foro de PHP en Foros del Web. Hola, quizas es muy sencillo lo que pido pero es que no hay manera de dar con ello. Tengo un Array con 3 elementos aleatorios: ...
  #1 (permalink)  
Antiguo 13/01/2006, 06:15
 
Fecha de Ingreso: febrero-2002
Ubicación: Valladolid
Mensajes: 83
Antigüedad: 15 años, 10 meses
Puntos: 1
pasar array en una función

Hola, quizas es muy sencillo lo que pido pero es que no hay manera de dar con ello.
Tengo un Array con 3 elementos aleatorios:
For ($size=1;$size<=3;$size++){
$numero = rand(0,3);
$valor[$size] = $numero;
}

y después lo que quiero es llamar a una función pasandole todos los valores del array $valor, he porbado con MostrarImg($valor); pero ni de coña

¿alquien me puede decir como pasarle los valores? Muchas gracias
  #2 (permalink)  
Antiguo 13/01/2006, 06:48
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
hola .. como va ?
mira acabo de hacer un ejemplo de mas o menos lo que queres hacer vos .. y me funciono ..

Código PHP:
<?php
function mostrar($valor){
 
$i 0;
 while(
$i <= 3){
  echo 
$valor[$i];
  
$i++;
 }
}
for (
$size=1;$size<=3;$size++){
 
$numero rand(0,3);
 
$valor[$size] = $numero
}
mostrar($valor);
?>
saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #3 (permalink)  
Antiguo 13/01/2006, 06:58
 
Fecha de Ingreso: febrero-2002
Ubicación: Valladolid
Mensajes: 83
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo

Muchas gracias, he encontrado esto otro que también funciona:


<?
srand((double)microtime()*1000000);

function MostrarImg($array) {
Foreach ($array as $elemento=>$valor){
echo($array[$elemento]);
}
}

For ($size=1;$size<=3;$size++){
$numero = rand(0,3);
$valor[$size] = $numero;
}
MostrarImg ($valor);
?>

y así el solo me recorre todos los valores del array y me los imprime.

Muchas gracias de todos modos.
  #4 (permalink)  
Antiguo 13/01/2006, 07:02
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
esa es otra opccion ....
grrrrrrrr tengo que aprender el foreach ... saludos !!!!
ya mismo me pongo ...
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #5 (permalink)  
Antiguo 13/01/2006, 08:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No de "for" vive el hombre sólo XDDD.

Aunque resuelvas un problema con funciones "básicas" o que ya conozcas por experiencia en uso con otros lenguajes .. intente siempre dar una revisada al manual oficial de PHP, te encontraras funciones interesantes para hacer cosas que antes hacías con más "piruetas" de programación. PHP es un lenguaje bastante "rico" en funciones que nos facilitan la vida al programar.

Un saludo,
  #6 (permalink)  
Antiguo 13/01/2006, 09:35
 
Fecha de Ingreso: febrero-2002
Ubicación: Valladolid
Mensajes: 83
Antigüedad: 15 años, 10 meses
Puntos: 1
uffff, y para hacer que en el array se me carguen 3 valores pero que en ningún momento sean iguales ¿hay alguna manera predefinida? Lo estoy intentando con un for dentro de otro y se me queda tostado
  #7 (permalink)  
Antiguo 14/01/2006, 07:21
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Yo lo haría así

Para que te cargue '$n' valores aleatorios y en ningún momento sean iguales.

1. Crear una array con un rango de elementos del 1 al $n, la función range lo hace.
2. Los meto a una caja, cerramos la caja y revolvemos todos los números (shuffle).
3. Puedes mostrarlo llamando a tu función mostrar.

Código PHP:
$numeros range (1,$n);
srand (time()); 
shuffle ($numeros);
tu_funcion_mostrar($numeros);

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 05:26.