Cita:
Iniciado por jonni09lo
Creo que te estas complicando la vida... mira si esto no te sirve:
Código PHP:
Ver original$buscar = "4001";
$data = '{
"result": {
"trabajo": true,
"datos": [
{
"id": "4000",
"date": "6/18/2012",
"idunico": "57954022"
},
{
"id": "4001",
"date": "5/11/2011",
"idunico": "57939700"
},
{
"id": "4003",
"date": "6/18/2012",
"idunico": "58516719"
},
{
"id": "4004",
"date": "5/11/2011",
"idunico": "57939754"
}
]
}
}';
function find($v){
global $buscar;
if( $v['id'] == $buscar ){
return true;
} else {
return false;
}
}
$datos = $data['result']['datos'];
if( count($filtrado) > 0 ){ //si encontró el idunico $result = $filtrado['idunico'];
} else {
$result = 'No se encontraron coincidencias';
}
Saludos
el problema viene cuando intento usarlo con un bucle for asi:
Código PHP:
$buscar = "4001";
$data = '{
"result": {
"trabajo": true,
"datos": [
{
"id": "4000",
"date": "6/18/2012",
"idunico": "57954022"
},
{
"id": "4001",
"date": "5/11/2011",
"idunico": "57939700"
},
{
"id": "4003",
"date": "6/18/2012",
"idunico": "58516719"
},
{
"id": "4004",
"date": "5/11/2011",
"idunico": "57939754"
}
]
}
}';
$tem = 4004;
for ($i=4000; $i < $tem ; $i++) {
function find($v){
global $buscar,$i;
if( $v['id'] == $i ){
return true;
} else {
return false;
}
}
$data = json_decode($data, true);
$datos = $data['result']['datos'];
$filtrado = current(array_filter($datos, "find"));
if( count($filtrado) > 0 ){ //si encontró el idunico
$result = $filtrado['idunico'];
} else {
$result = 'No se encontraron coincidencias';
}
echo $result;
}
me sale el este error:Fatal error: Cannot redeclare find() (previously declared in C:\AppServ\www\ejemplo\json.php:36) in C:\AppServ\www\ejemplo\json.php on line 36
alguna sugerencia