Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2012, 14:49
Avatar de standby82
standby82
 
Fecha de Ingreso: abril-2011
Mensajes: 29
Antigüedad: 13 años
Puntos: 0
sacar variable fuera de una funcion

Muy buenas
Tengo el siguiente problemilla y la verdad que no se porque no me funciona

He creado una funcion que va mirando los elementos de una array y si algún elemento esta vacio ejecuta un switch para saber que valor es el que esta vacio y los va guardando en otro array.

Luego le hago el bucle for a ese ultimo array y obtengo los elementos que estaban vacios.

El problema es que no consigo pasar el array final fuera de la función, para poder operar con el.

Os pongo el codigo y explico:
Código PHP:

$campos_form
=array($cat,$prov,$loca,$titulo,$descrip,$cambiarx,$cat_cambio,$nombre,$email);  //este es el array del cual busca si alguna de esas variables estan vacias

function comprobar_campos_rellenos($campos// la funcion para buscar la variables vacías y si es asi dependiendo su posicion añade a $campo_vacio[] el elemento correspondiente
{

for(
$a=0;$a<count($campos);$a++) 
        {
        
        if (empty(
$campos[$a]))    
            {
            
                switch(
$a)
                 {
                    case 
$error1="Categoria anuncio";
                    break;
                     case 
$error1="Provincia";
                    break;
                    case 
$error1="Localidad";
                    break;
                    case 
$error1="Titulo";
                    break;
                    case 
$error1="Descripción";
                    break;
                    case 
$error1="Cambiar por";
                    break;
                    case 
$error1="Categoria cambio";
                    break;
                    case 
$error1="Nombre";
                    break;
                    case 
$error1="Email";
                    break;
                }
// fin switch    
                
$campo_vacio[] =$error1
            
            
            }
//fin if
            
else
            {
            
//return;
            
}//fin else y del if
            
        
//fin del for
        
        
global $campo_vacio;
        return 
true;
}
// fin funcion 
-Lo que quiero es poder sacar la variable $campo_vacio fuera de la funcion para mas adelante realizar lo siguiente:

Código PHP:
if(comprobar_campos_rellenos($campos_form))
    {
    echo 
"Te falta de rellenar los siguientes campos:<br/>";
        for(
$x=0;$x<count($campo_vacio);$x++) 
        {                  
        echo 
$campo_vacio[$x]."<br/>";
        } 
//fin for
    
}
    else
    {
    echo 
"no devuelve nada";
    } 
Funcionar, me funciona todo correcto si la primera parte no la meto dentro de una función y lo hago todo seguido. El problema es que en la última parte del código la variable $campo_vacio esta vacía y no lo entiendo ya que arriba le digo que sea global.


Pienso que es una tontería, pero no doy con ello, a ver si alguien me lo puede explicar.

Gacias