Foros del Web » Programando para Internet » PHP »

Problema con Funcion

Estas en el tema de Problema con Funcion en el foro de PHP en Foros del Web. Tengo esta función simple Código PHP: <? $a =array( "1" , "2" , "3" , "4" , "5" ); function  primera () { global  $a ...
  #1 (permalink)  
Antiguo 05/11/2009, 14:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Exclamación Problema con Funcion

Tengo esta función simple

Código PHP:

<?

$a
=array("1","2","3","4","5");

function 
primera()
{

global 
$a;

for (
$i=0;$i<count($a);$i++)
{
$b[]=$a[$i];
}

}


echo 
primera();

print 
$b[0];



?>



El tema es que hago un array de los valores de la función dentro de la misma luego la llamo con un echo y pongo la variable que quiero llamar que es la primera del array y que se corresponde con el cero , sihago esto dentro de la función funciona , valga la redundancia pero si lo hago fuera pues no funciona , no hay forma de que esto funcione como un include de esa función luego llamarla y cargar el valor de la forma que lo tengo u obviamente de una forma en la cual funcione , saludos a todos y muchas gracias por la colaboración
  #2 (permalink)  
Antiguo 05/11/2009, 14:51
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema con Funcion

Prueba con

global $a,$b;
  #3 (permalink)  
Antiguo 05/11/2009, 15:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Problema con Funcion

Funciona ¡¡¡ , no habia caido en eso voy a seguir probando con otra cosa más complejilla ya decia yo , gracias por la ayuda :)))
  #4 (permalink)  
Antiguo 06/11/2009, 06:30
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Exclamación Respuesta: Problema con Funcion

Tengo otra duda dado este codigo basado en una tabla de base de datos en texto de este tipo

nombre|apellidos|telefono|direccion
juan,garcia,1234,florez 30
jose,gonzalez,3456,celia 4
antonio, galvez,6789,centurion 56


Código PHP:

<?
$db_ruta
="db_p";
?>

<?
function db_get_datos($db_dir,$db_name)
{

global 
$db_ruta;


$file=file("db_p/usuarios/usuarios.txt");
$exp_campos=explode("|",$file[0]);

for(
$i=1;$i<sizeof($file);$i++)
{
$exp_values=explode(",",$file[$i]);

for (
$x=0;$x<count($exp_campos);$x++)
{

${
$exp_campos[$x]}[]=$exp_values[$x];

}

}



}
?>


<?
echo db_get_datos("usuarios","usuarios.txt");

echo 
$nombre[0];

?>


Si pongo $nombre[0] dentro de la función funciona pero fuera no tengo ide ade com ohacerlo pra que lea los valores intente meter el array en el global perono va tampoco a ver que ideas teneis , un saludo a todos
  #5 (permalink)  
Antiguo 06/11/2009, 09:53
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Problema con Funcion

Volvemos a lo mismo, por explicartelo de una forma metaforica:

-Si quieres que una variable "entre y salga con vida" de una funcion, declarala en $global, sino solo vivira el tiempo que la funcion este ejecutandose.


global $db_ruta,$nombre,$apellidos,$direccion,$telefono;
  #6 (permalink)  
Antiguo 06/11/2009, 10:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Problema con Funcion

Cita:
Iniciado por Vun Ver Mensaje
Volvemos a lo mismo, por explicartelo de una forma metaforica:

-Si quieres que una variable "entre y salga con vida" de una funcion, declarala en $global, sino solo vivira el tiempo que la funcion este ejecutandose.


global $db_ruta,$nombre,$apellidos,$direccion,$telefono;

Ya lo solucione asi de simple

Código PHP:





<? 
$db_ruta
="db_p"
?> 

<? 
function db_get_datos($db_dir,$db_name


global 
$db_ruta


$file=file("db_p/usuarios/usuarios.txt"); 
$exp_campos=explode("|",$file[0]); 

for(
$i=1;$i<sizeof($file);$i++) 

$exp_values=explode(",",$file[$i]); 

for (
$x=0;$x<count($exp_campos);$x++) 


/*
/// Aqui se cambia esto y listo sacas todo
*/
global ${$exp_campos[$x]};


${
$exp_campos[$x]}[]=$exp_values[$x]; 








?> 


<? 
echo db_get_datos("usuarios","usuarios.txt"); 

echo 
$nombre[0]; 

?>
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 12:28.