Foros del Web » Programando para Internet » PHP »

Como extraer values de un array y llamarlos dinamicamente

Estas en el tema de Como extraer values de un array y llamarlos dinamicamente en el foro de PHP en Foros del Web. Estimados, Espero poder explicarme bien en lo que quiero hacer. Quiero sacar los datos de una url Ejemplo: url = localhost/miweb/argumento1/argumento2/argumento3 Código PHP: $array  = array( ...
  #1 (permalink)  
Antiguo 05/10/2012, 13:57
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años, 6 meses
Puntos: 13
Pregunta Como extraer values de un array y llamarlos dinamicamente

Estimados,

Espero poder explicarme bien en lo que quiero hacer. Quiero sacar los datos de una url

Ejemplo:

url = localhost/miweb/argumento1/argumento2/argumento3

Código PHP:
$array = array('argumento1''argumento2''argumento3'); 
Con este array quiero saber cuantos values se han incorporado pero como todo depende de lo que el usuario ponga, pues no se puede saber con exactitud cuantos values hay. Se me ocurrió hacer eso:

Código PHP:
foreach($array as $k => $v ){
  echo 
$v.',';

pero mi idea no es hacerle un echo sino ponerlo dentro de una function como argumento

Código PHP:
function getArgumentos(MOSTRAR LOS VALUES DEL ARRAY) {
     
//Como saber cuantos argumentos hay?
     //Como ponerlos y mostrarlos?

Espero me hayan entendido

Gracias de antemano

__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #2 (permalink)  
Antiguo 05/10/2012, 15:08
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Si explicas mejor a qué quieres llegar, puede que se te recomiende algo mejor, ya que para ver el contenido de un arreglo, se puede hacer con var_dump.

Sería mejor si aclaras cómo quieres manejar los elementos del arreglo.
  #3 (permalink)  
Antiguo 05/10/2012, 15:20
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años, 6 meses
Puntos: 13
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Me imagine que no se podria entender facilmente:

Imaginate que tengo este array que lo extraigo desde el url:

Código PHP:
$colores = array('0' => 'amarillo''1' => 'azul''2' => 'rojo'); 
Pero estos datos no son estaticos, podrian cambiar de acuerdo con lo que yo ponga en el URL

url = localhost/miweb/amarillo/azul/rojo

entonces lo que quiero es saber como extraer estos datos. Se me ocurrió ésto:

Código PHP:
$count count($colores);
for (
$i 0$i count($colores); $i++) {
    echo 
$colores[$i];

Los datos se extraen bien, pero el inconveniente es como poder separarlos concomas para que se comporten como argumentos y usarlos en la function

me entendiste?
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #4 (permalink)  
Antiguo 05/10/2012, 16:00
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Entiendo, no comprendo por qué lo quieres hacer así, si tu función a la que pasarás tu argumento es de php, si no es de php, de nuevo: aclara qué quieres hacer.

SI pasas el arreglo tal cual y tu función manipula este arreglo, no necesitas pasar nada separado con comas.

Ahora bien, si lo que quieres es meter comas, con implode es posible, pero te quedará una cadena de texto, igualmente no manipulable como argumentos por separado, a menos que te compliques y metas comillas y pretendas llamar tu función con call_user_func()
  #5 (permalink)  
Antiguo 05/10/2012, 16:10
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años, 6 meses
Puntos: 13
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Cita:
Iniciado por ocp001a Ver Mensaje
Entiendo, no comprendo por qué lo quieres hacer así, si tu función a la que pasarás tu argumento es de php, si no es de php, de nuevo: aclara qué quieres hacer.

SI pasas el arreglo tal cual y tu función manipula este arreglo, no necesitas pasar nada separado con comas.

Ahora bien, si lo que quieres es meter comas, con implode es posible, pero te quedará una cadena de texto, igualmente no manipulable como argumentos por separado, a menos que te compliques y metas comillas y pretendas llamar tu función con call_user_func()

Creo entender lo que me dices, pero te estas llendo mas alla de una simple funcion que necesito.

lo del implode, podria ser una solucion, aunque sea una texto, pero como dijiste, necesito lso argumentos por separado.

Suponiendo que alguien de españa se mete al sitio, y pone el color de su bandera

url = localhost/miweb/rojo/amarillo

el array cambiaria a tan solo dos argumentos. pues eso es lo que necesito, saber cuantos argumentos paso (con la funcion count() lo puedo lograr), pero poner cada argumento en un array es lo que no puedo.

Ahora me entiendes?, no intentes entender el programa que estoy haciendo ya que no lo hay, estoy practicando y por ende quisiera saber coo hacer, puede que lo que este haciendo no sea la mejor manera, pero quisiera aprender como extraer estos datos.

La idea es aprender para luego ayudar :)
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #6 (permalink)  
Antiguo 05/10/2012, 16:40
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Como extraer values de un array y llamarlos dinamicamente

veamos...

si tienes la $url = "localhost/miweb/rojo/amarillo";

y la divides
$url=explode('/',$url);

obtendrás un arreglo, con los componentes de la url. Si sabes que la url tiene 2 elementos iniciales (localhost y miweb) al hacer un count sobre el arreglo te dirá que tiene 4 elementos, y ya sabrás que tienes que restarle los dos primeros o bien que para recorrerlo lo debes hacer desde el índice 2.

Y dicho arreglo lo puedes pasar como una sola variable.
  #7 (permalink)  
Antiguo 05/10/2012, 16:45
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años, 6 meses
Puntos: 13
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Cita:
Iniciado por ocp001a Ver Mensaje
veamos...

si tienes la $url = "localhost/miweb/rojo/amarillo";

y la divides
$url=explode('/',$url);

obtendrás un arreglo, con los componentes de la url. Si sabes que la url tiene 2 elementos iniciales (localhost y miweb) al hacer un count sobre el arreglo te dirá que tiene 4 elementos, y ya sabrás que tienes que restarle los dos primeros o bien que para recorrerlo lo debes hacer desde el índice 2.

Y dicho arreglo lo puedes pasar como una sola variable.

Simplemente genial, al parecer estamos en la misma pagina ahora.

Eso lo tengo hecho ya y me esta funcionando bien.

Ahora como dices, para recorrerlo desde el indice 2, declaro el $i=2 y el for me incia desde el segundo values, pero como te dije antes, cual seria la forma de poner dentro de la funcion los siguentes values

$argumento1 = seria rojo
$argumento2 = seria amarillo

function getColor($argumento1, $argumento2)

como sacar esos values para ponerlso ahi?
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #8 (permalink)  
Antiguo 05/10/2012, 16:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Como te indiqué sólo mediante call_user_func(), lo cual si quieres, puedes buscar información sobre cómo usarla, ya que si tienes el arreglo es innecesario.
  #9 (permalink)  
Antiguo 05/10/2012, 17:12
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años, 6 meses
Puntos: 13
Respuesta: Como extraer values de un array y llamarlos dinamicamente

Cita:
Iniciado por ocp001a Ver Mensaje
Como te indiqué sólo mediante call_user_func(), lo cual si quieres, puedes buscar información sobre cómo usarla, ya que si tienes el arreglo es innecesario.

call_user_func()

Lo busque, pero no se muy bien como funciona.

Código PHP:
$count count($colores);
for (
$i 0$i count($colores); $i++) {
    
call_user_func(function($arg) { print "$arg,"; }, $colores[$i]);

me funciona pero el ultimo argumento me sale con una coma, com la quito? implode? pero donde?
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar

Etiquetas: dinamicamente, values, usuarios
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 09:35.