Comunidad de diseño web y desarrollo en internet online

Cambiar nombre de una variable

Citar            
MensajeEscrito el 10 Dic 2006 03:30 am
Hagarrense por que mi duda està bien rara....

Tengo un script que me crea archivos *.php con varibales algo asi:

Código :

<?php
$var1 = '12345';
$var2 = '12345';
$var3 = '12345';
$var4 = '12345';
?>


esas varibales las lleno mediante un formulario, esos datos son numeros de produccion de "x" cosa, con un listbox enlisto todos esos archivos que se guardan en una carpeta en el servidor, y en otro los vuelvo a enlistar, esto lo hago para que puedan comparar datos contra datos, el problema es que todos los *.php tienen el mismo nombre de variables y no puedo comparar por que obias razones, la pregunta serìa: ¿Como hago para renombrar las varibales o hacer que no sean iguales al archivo con el que voy a compara los datos?...

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2006 03:37 am
Porque no usas arreglos ? ( bueno segun entendi así podria ser ... )

Saludos ;-)

Por alffa

276 de clabLevel



 

Mi casa o mi trabajo...depende (México)

firefox
Citar            
MensajeEscrito el 10 Dic 2006 04:29 am
lo que pasa que aun aprendo php, podrias darme un ejemplo porfavor?.. ^^

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2006 04:08 pm

Código :

$var1 = '12345';
$mi_nueva_variable = $var1;


¿?

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox
Citar            
MensajeEscrito el 10 Dic 2006 07:54 pm
Para hacer lo que dices se me ocurre algo como esto:

Si ya guarde los valores en diferentes archivos php, cuando voy a jalar los datos a los list donde se hará la comparación haría esto:

Jalo los datos del primer archivo php, se los asigno a un list, este list por logica contendrá un arreglo, el cual tendrá un nombre, se lo asigno ($arr[]).

Enseguida Jalo los datos del segundo archivo php, se los asigno al nuevo list, pero el nombre del nuevo arreglo, simplemente se lo cambio a otro diferente ($arr2[]).

Ahora solamente uso los valores que seleccione.

Algo como:

Código :

$suma = $arr[4] + $arr2[4];

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 10 Dic 2006 08:12 pm
Bueno no entendi muy bien lo que quieres hacer, pero según lo que pediste explicitamente la función eval de php te puede ayudar:

eval php.net

Si explicaras un ejemplo mejor quizás te diría una mejor solución, porque trabajar con eval no lo recomiendo mucho.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 10 Dic 2006 09:21 pm
supongamos que creo un archivo con las sig variables:

Código :

<?php
$var1 = "12345";
?>


este archivo se llama file.php y lo enlisto, el archivo file.php lo vuelvo a enlistar en otro listbox, osea que me quedarian dos listbox con el mismo contenido, y quiero comparar file.php con file.php osea el mismo archivo, no podria por ejemplo restar o hacer operaciones por que las variables llevan el mismo nombre...

Reymond no jalo los datos, jalo los archivos para inlcuirlos en otro archivo *.php uso este codigo para enlistar los archivos:

Código :

                          <?


           if ($dir = @opendir("memos"))
           {
               while (($file = readdir($dir)) !== false)
               {
                   if($file != ".." && $file != ".")
                   {
                       $filelist[] = $file;
                   }
               }
               closedir($dir);
           }
           ?>
            <p>
      
           <select name="compara">
           <?php
           asort($filelist);
      
           while (list ($key, $val) = each ($filelist))
           {
$valor = explode(".", $val);      
echo "<option>$valor[0]</option>";
           }
           ?>
            </select>

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2006 09:37 pm
Ok, pero planteame el problema "real", es decir, dime el problema para saber como llegaste a esa solución y porque crees que es la mejor.

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 10 Dic 2006 10:32 pm
Viendo tu archivo que generas, lo que haces es guardar una variable, por lo que a mi humilde forma de ver, eso es erroneo. Cuando te interesa guardar un valor, de una variable, o cualquier otra cosa(y no piensas usar una DB), no tienes que hacer un archivo de ejecución de script, lo mas correcto es hacer un archivo de datos, para eso te será muy útil la función serialize de php.

Aqui te dejo un ejemplo:

Código :

   $PathFile = "Datos/arreglo.dat";
   function guarda($arreglo)
   {
      $File=fopen($PathFile,"w");
      fwrite($File,$arreglo);
      fclose($File);
      return true;
   }
   
   function lee()
   {
      $File=fopen($PathFile,"r");
      $Datos=fread($File,filesize($PathFile));
      fclose($File);
      return $Datos;
   }

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 11 Dic 2006 12:33 am
Maikel, no digo que sea la mejor forma, es la manera en que pude hacerlo ya que apenas llevo 2 meses programando en php. :cry:


Dano, tu codigo es interesante, desafortunadamente no sè como usarlo y sobre todo como leerlo... de que manera sè que dato es de que variable?...

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2006 12:37 am
ejemplo de uso:


Código :

$tuvariable1 = "algo";
$tuvariable2 = "algo2";
$datos["tuvariable1"] = $tuvariable1;
$datos["tuvariable2"] = $tuvariable2;
//Para guardar
guarda($datos);

//Para leer
$datos = lee();



saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 11 Dic 2006 12:51 am
No, no me hagas caso. Si llegaste a esa solución es porque pensaste que sería lo correcto, lo único que te digo es que me expliques el problema a ver si podemos coincidir en la solución que puede ser la mejor o plantear otra.

Lo de Dano tiene unos detalles, es asi:

Código :

$PathFile = "Datos/arreglo.dat";

   function guarda($arreglo)

   {
      global $PathFile;
     
      $File=fopen($PathFile,"w");

      fwrite($File,$arreglo);

      fclose($File);

      return true;

   }

   

   function lee()

   {
      global $PathFile;
      
 $File=fopen($PathFile,"r");

      $Datos=fread($File,filesize($PathFile));

      fclose($File);

      return $Datos;

   }

$arreglo[] = "Dato 1";
$arreglo[] = "Dato 2";
$arreglo[] = "Dato 3";

guarda($arreglo);

echo lee();


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Dic 2006 01:00 am
jeje el global, ese code realmente lo tenía en una clase que hice y el pathFile es una propiedad(en esa clase). :wink:


Quisiera tener el tiempo de ejecutar todo el código que paso. A veces confio de mas en mi autocompilador cerebral :lol:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 11 Dic 2006 01:05 am
jeje, seguro. :lol:


Quisiera tener el tiempo de ejecutar todo el código que paso. A veces confio de mas en mi autocompilador cerebral :lol:


Pero recuerda que el autocompilador cerebral de php esta en el Hemisferio izquierdo :lol:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Dic 2006 01:18 am
nos salimos del tema, el problem no es guardar la info, sino las variables.... :lol:

aquel interesado en ver el script favor de enlistarme en su msn

hoko_no_kama_e_arrobahotmail.com

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2006 02:03 am
Aqui la solucion de mi problema:

Camino al trabajo en el auto se me ocurrio usar matrices, asi de sencillo... aqui les dejo un ejemplo:


ANTES CUANDO TENIA EL PROBLEMA:
mi script crea el archivo uno.php con este codigo en el:

Código :

<?php
$var1 = "100";
?>


y despues creo otro archivo llamado dos.php con este codigo:

Código :

<?php
$var1 = "200";
?>


a la hora de querer hacer operaciones con estos archivos no podia hacer esto:

Código :

<?php
include ('uno.php');
include ('dos.php');
$sumar = $var1 + $var1;
echo $sumar;
?>


No podia sumar los valores de una varibale del mismo nombre...

LA SOLUCION:

mi script crea ahora archivos asi:

creo el archivo uno.php

Código :

<?php
$var1[] = "100";
?>


despues creo el archivo dos.php

Código :

<?php
$var1[] = "200";
?>


hora si puedo hacer operaciones con estos archivos:

Código :

<?php
include ('uno.php');
include ('dos.php');
//donde $var[0] es la variable del archivo uno.php y asi sucesivamente...
//ahora si puedo hacer algo asi:
$suma = $var1[0] + $var1[1];
echo $sumar;
?>


Las matrices las defino dentro del script como [0],[1],[2],[3] y [4] por que es el total de varibales que uso al crear los archivos...

P.D no será un proceso muy bueno que digamos pero repito que soy principiante (menos que eso) y por lo menos me siento bien de saber que fui yo quien solucionó el problema, de cualquier forma muchisimas gracias a los que les interesó mi tema. :D

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Dic 2006 02:13 am
A eso se le llama Array (matriz,arreglos,etc) y es lo que te mencionaron alffa y reymond. Suerte en el mundo del backend.

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.