Foros del Web » Programando para Internet » PHP »

Problema con array dentro de la funcion

Estas en el tema de Problema con array dentro de la funcion en el foro de PHP en Foros del Web. hola amigos, tengo una consulta a ver si me pueden ayudar, ¿Como debo hacer para utilizar un array dentro de una función sin declararlo como ...
  #1 (permalink)  
Antiguo 12/12/2006, 11:32
Avatar de SadusSadusSadus  
Fecha de Ingreso: diciembre-2006
Ubicación: Córdoba - Argentina
Mensajes: 87
Antigüedad: 17 años, 4 meses
Puntos: 0
Problema con array dentro de la funcion

hola amigos, tengo una consulta a ver si me pueden ayudar,
¿Como debo hacer para utilizar un array dentro de una función sin declararlo como argumento?, es decir que el ámbito del array sea como las CONSTANTES,

Por ejemplo:

Código PHP:
$contenido=array(cont10=>"valor1"cont2=>"valor2");

function 
algo(){
echo 
$contenido['cont10'];
}

algo(); 
la cual no imprime ningún resultado, espero haberles explicado bien gracias
  #2 (permalink)  
Antiguo 12/12/2006, 11:53
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Re: Problema con array dentro de la funcion

Tu problema es que no estas declarando el array $contenido como global, de esta forma:
Código PHP:
<?php
$contenido 
= array( cont10 => "valor1"cont2 => "valor2" ); 

function 
algo()
{
   global 
$contenido;
   echo 
$contenido['cont10'];
}

algo();  
?>
Otra forma de hacerlo es declarando el array dentro de la función:
Código PHP:
<?php
function algo()
{
   
$contenido = array( cont10 => "valor1"cont2 => "valor2" );
   echo 
$contenido['cont10'];
}

algo();  
?>
Y para hacerlo más dinámico podrías pasarle la clave del array como parámetro a la función:
Código PHP:
<?php
function algo$clave )
{
   
$contenido = array( cont10 => "valor1"cont2 => "valor2" );
   echo 
$contenido[$clave];
}

algo('cont10');  
?>
Espero sea lo que necesitabas o por lo menos te de una idea. Suerte
Nota: para saber más hacerca del ambito de las variables checa este enlace:
http://www.php.net/manual/es/languag...bles.scope.php
  #3 (permalink)  
Antiguo 12/12/2006, 11:59
Avatar de sergejzr  
Fecha de Ingreso: diciembre-2006
Ubicación: Osnabrück (Alemania)
Mensajes: 12
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con array dentro de la funcion

Hola, SadusSadusSadus!
debes que declarar el array como "global".
Código PHP:
$contenido=array(cont10=>"valor1"cont2=>"valor2");

function 
algo(){
global 
contenido;
echo 
$contenido['cont10'];
}
algo(); 
Pero no esta estilo bueno.
Yo usaría los clases. (Porque los nombres de variables globales se pueden cruzar y con los clases tenemos algo como namespaces)
Código PHP:
class Container
{
public static 
$contenido=array('cont10'=>"valor1"'cont2'=>"valor2"));
}

function 
algo(){
echo 
Container::contenido['cont10'];
}
algo(); 
  #4 (permalink)  
Antiguo 12/12/2006, 12:04
Avatar de SadusSadusSadus  
Fecha de Ingreso: diciembre-2006
Ubicación: Córdoba - Argentina
Mensajes: 87
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Problema con array dentro de la funcion

Mas claro echale agua !.
Erikfrancisco y sergejzr, mil gracias
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 18:37.