Foros del Web » Programando para Internet » PHP »

variables de variables sin variable [solucionado]

Estas en el tema de variables de variables sin variable [solucionado] en el foro de PHP en Foros del Web. buenas gente, apenas he comenzado a practicar con php luego de varios intentos fallidos y ahora tengo una curiosidad que segun mis propios medios no ...
  #1 (permalink)  
Antiguo 28/08/2010, 23:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
variables de variables sin variable [solucionado]

buenas gente,

apenas he comenzado a practicar con php luego de varios intentos fallidos y ahora tengo una curiosidad que segun mis propios medios no encuentro respuesta. se trata de si es posible hacer algo parecido a las variables de variables pero sin explicitamente ser una variable. el punto es que yo soy de las personas que no me gusta depender de las variables cuando no son necesarias aunque el codigo me quede como arroz mogolla'o (asi le decimos los puertorriqueños cuando el arroz queda feo). a lo que me refiero es por ejemplo,
Código PHP:
// en lugar de este codigo;
$total $num_1 $num_2;
echo 
$total;

// yo lo escribiria asi;
echo $num_1 $num_2
pues la situacion es que estoy jugando un poco con los formularios e imprimiendo los contenidos enviados en distintos metodos de envios (get, post). me es perfectamente valido el array $_REQUEST para cualquier tipo de metodo, pero no quiero utilizarlo porque me fije en un detalle. por ejemplo, si envio los datos por AJAX con metodo post, y la url contiene parametros, $_REQUEST me lee ambos. es decir, si la url es form.php?get=url y por AJAX con metodo post envio "post=data", $_REQUEST me lee ambos. entonces queria concentrarme en el impreso de datos de acuerdo al metodo de envio. se como hacerlo pero la primera vez que lo intente queria hacerlo por algo parecido a variables de variables. esto es lo que tengo para imprimir los datos.
Código PHP:
$method '_'.$_SERVER['REQUEST_METHOD'];
print_r($$method); 
queria hacerlo sin la variable $method, lo cual intente lo siguiente pero me produce un error el cual no puedo identificar porque estoy en un servidor gratuito y parece que php esta configurado para ocultar los errores.
Código PHP:
print_r($('_'.$_SERVER['REQUEST_METHOD'])); 
reitero, es solo una curiosidad. cualquier comentario es bienvenido, gracias.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 29/08/2010 a las 00:41 Razón: modificar titulo a solucionado
  #2 (permalink)  
Antiguo 28/08/2010, 23:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: variables de variables sin variable

Si tratas de esa forma, te traerá un error de Parse error: parse error, expecting `T_VARIABLE' or `'$''. Además, si llegara a funcionar, lo que quieres hacer es lo mismo que usar $_REQUEST. Ahora si lo que quieres es convertir las variables a variables variable, puedes usar extract y en vez de llamar la variables así
Código PHP:
Ver original
  1. <?php
  2. echo $_POST['foo'];
Puedes llamarla así
Código PHP:
Ver original
  1. <?php
  2. extract($_POST);
  3. echo $foo;

Si no quieres esto, entonces es que estoy bien

Edito:
Una forma de lograr que puedas usar esa forma, es haciendo algo así
Código PHP:
Ver original
  1. <?php
  2. var_dump(${"_$_SERVER[REQUEST_METHOD]"});
  3.  
  4. //o
  5. var_dump(${"_" . $_SERVER['REQUEST_METHOD']});

Te recomiendo que leas los comentarios de este enlace http://php.net/manual/en/language.va...s.variable.php. Te va a dar mayor detalle de lo que puedes hacer.

Me dejas saber
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 29/08/2010 a las 00:08
  #3 (permalink)  
Antiguo 29/08/2010, 00:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: variables de variables sin variable

gracias abimael. parece que estabas bien dormido y despues despertastes. venia avisar que ya lo logre pero ya habias respondido. eventualmente me referia a la linea #5 del segundo codigo que has mostrado. no estaba tan lejos, era simplemente cambiar los parentesis por llaves.

sin intencion de ofender a los amantes de php... a decir verdad todavia no me llevo bien con el maldito php porque tiene algunas cosas que no me convencen. esta vez me gano la sintaxis.

se te agradece, compatriota.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 29/08/2010, 09:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: variables de variables sin variable [solucionado]

por cierto, si quieres que aparezcan todos los errores sin necesidad de modificar directamente la configuración usa error_reporting(E_ALL);
  #5 (permalink)  
Antiguo 29/08/2010, 10:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: variables de variables sin variable [solucionado]

maycol, eventualmente se me habia ocurrido lo mismo pero lo cierto es que ni con eso me aparecen los errores. el documento simplemente llega vacio, ni un solo caracter. de todos modos, gracias.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 29/08/2010, 10:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: variables de variables sin variable [solucionado]

Para saber, ¿qué tú quieres lograr con este tipo de código, a parte de saber cuál método están enviando la petición?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 29/08/2010, 10:57
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: variables de variables sin variable [solucionado]

a largo plazo, nada en particular. a corto plazo, familiarizarme con php. por el momento solo estaba explorando las variables relacionada a datos de formularios. pero el tema mas bien vino por como antes explique, no queria verme en la necesidad de declarar variables. es la costumbre que tengo de escribir la menor cantidad de codigo posible. para que se hagan una idea de lo que he ido experimentando, http://phpscripting.awardspace.us/form.php.
Código PHP:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>PHP Scripting</title>
<script type='text/javascript' src="http_request.js"></script>
<script type="text/javascript" src="form_ajax.js"></script>
<style type='text/css'>
pre{
height:25em;
border:thin solid #9cf;
overflow:auto;
}

div{
margin:1em;
width:35em;
float:left;
}
</style>
</head>

<body>
<form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="name" />: name,
<input type="text" name="domain" />: domain,
<input type="text" name="shortcomment" />: a short comment,
<input type="file" name="somefile" /> your file.<br />
method: <select onchange="this.form.method = this.value">
<option value="get">get</option>
<option value="post">post</option>
<option value="put">put</option>
<option value="head">head</option></select>,
enctype: <select onchange="this.form.enctype = this.value">
<option value="application/x-www-form-urlencoded">urlencoded</option>
<option value="multipart/form-data">multipart</option>
</select> <label><input type="checkbox" id="ajax" /> Send with AJAX?</label>
<input type="submit" />
</form>

<?php
echo '<div>$_SERVER:<pre>';
print_r($_SERVER);
echo 
'</pre></div>';

echo 
"<div>\$_{$_SERVER['REQUEST_METHOD']}:<pre>";
print_r(${"_$_SERVER[REQUEST_METHOD]"});
echo 
'</pre></div>';
?>

<div>Ajax:<pre id="ajaxResponse"></pre></div>
</body></html>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: solucionado, variables
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 08:18.