Foros del Web » Programando para Internet » PHP »

bucle con funcion

Estas en el tema de bucle con funcion en el foro de PHP en Foros del Web. hola algien me puede ayudar con este problema no se por que no funciona tengo lo siguiente Código PHP: <?PHP     $data  =  '{         "result": {             "trabajo": true, ...
  #1 (permalink)  
Antiguo 02/12/2013, 14:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
bucle con funcion

hola algien me puede ayudar con este problema no se por que no funciona

tengo lo siguiente

Código PHP:
<?PHP
    $data 
'{
        "result": {
            "trabajo": true,
            "datos": [
                  {
                    "id": "4000",
                    "date": "6/18/2012",
                    "idunico": "57954022"
                  },
                  {
                    "id": "4001",
                    "date": "5/11/2011",
                    "idunico": "57939700"
                          },
                           {
               
                    "id": "4002",
                    "date": "6/18/2012",
                    "idunico": "58516719"
                  },
                  {
               
                    "id": "4003",
                    "date": "6/12/2012",
                    "idunico": "165498461"
                  },
                  {
                    "id": "4004",
                    "date": "5/11/2011",
                    "idunico": "123456789"
                  }
                  ]
               }
    }'
;


$tem 4004;


for (
$i=4000$i $tem $i++) {
    function 
find($v){
        global 
$buscar,$res,$i;
        if( 
$v['id'] == $i ){
            
$res $v['idunico'];
            
//return true;
        
} else {

            return 
false;
        }
    }
     
    
$data json_decode($datatrue);
     
    
$datos $data['result']['datos'];
     
    
array_filter($datos"find");
    
    
    
    echo 
$res;

}
    
?>
sin el for si funciona especificando el valor a buscar pero con el for no funciona


de esta manera funciona fsin el for

Código PHP:
<?PHP

    $buscar 
"4003";
    
$data '{
        "result": {
            "trabajo": true,
            "datos": [
                  {
                    "id": "4000",
                    "date": "6/18/2012",
                    "idunico": "57954022"
                  },
                  {
                    "id": "4001",
                    "date": "5/11/2011",
                    "idunico": "57939700"
                          },
                           {
               
                    "id": "4002",
                    "date": "6/18/2012",
                    "idunico": "58516719"
                  },
                  {
               
                    "id": "4003",
                    "date": "6/12/2012",
                    "idunico": "165498461"
                  },
                  {
                    "id": "4004",
                    "date": "5/11/2011",
                    "idunico": "123456789"
                  }
                  ]
               }
    }'
;


//$tem = 4004;


//for ($i=4000; $i < $tem ; $i++) {
    
function find($v){
        global 
$buscar,$res,$i;
        if( 
$v['id'] == $buscar){
            
$res $v['idunico'];
            
//return true;
        
} else {
            return 
false;
        }
    }
     
    
$data json_decode($datatrue);
    
$datos $data['result']['datos'];
    
array_filter($datos"find");
    echo 
$res;

//}
    
?>
Pero quiero usar el for() y no funciona
Espero alguien me pueda audar gracias de antemano
  #2 (permalink)  
Antiguo 02/12/2013, 14:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: bucle con funcion

El problema es que no puedes crear la misma función dos veces, y al estar haciéndolo dentro del for() simplemente violas esta regla y todo se rompe.

Además el uso de global es una peśima practica que además pone en evidencia que no sabes trabajar con funciones, variables y pase de argumentos.

Te sugiero leer el manual para que aprendas todo esto, la forma en que lo quieres resolver está mal de pies a cabeza.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/12/2013, 06:45
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: bucle con funcion

Cita:
Iniciado por pateketrueke Ver Mensaje
El problema es que no puedes crear la misma función dos veces, y al estar haciéndolo dentro del for() simplemente violas esta regla y todo se rompe.

Además el uso de global es una peśima practica que además pone en evidencia que no sabes trabajar con funciones, variables y pase de argumentos.

Te sugiero leer el manual para que aprendas todo esto, la forma en que lo quieres resolver está mal de pies a cabeza.
Ese codigo se lo dieron aca en el foro, ademas que ya se le habia.dicho porque le.pasaba
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Etiquetas: bucle, funcion
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 05:30.