Foros del Web » Programando para Internet » PHP »

Array dentro de un array

Estas en el tema de Array dentro de un array en el foro de PHP en Foros del Web. Tengo el siguiente código: Código PHP: $data  = array(    'conditions'  => array(        'OR'  => array(            'id'  =>  '123' ,             'nombre'  =>  'wtev' )));  Lo ...
  #1 (permalink)  
Antiguo 17/10/2011, 14:56
Avatar de LanbreGroteo  
Fecha de Ingreso: agosto-2009
Ubicación: $Mx->['Veracruz']
Mensajes: 69
Antigüedad: 14 años, 8 meses
Puntos: 1
Exclamación Array dentro de un array

Tengo el siguiente código:

Código PHP:
$data = array(
  
'conditions' => array(
      
'OR' => array(
          
'id' => '123'
          
'nombre' => 'wtev'))); 
Lo que deseo hacer es que si en $data['conditions'] se encuentra otro array con nombre 'OR' o 'AND' me lo acomode segun la sentencia SQL que deseo construir. Es para programar una forma dinámica de seleccionar datos.

Espero darme a entender y gracias de antemano.
¡Saludos!
  #2 (permalink)  
Antiguo 17/10/2011, 15:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Array dentro de un array

¿Cual es la duda? Como acomodarlos, es sencillo:
Código PHP:
Ver original
  1. $orConditions = array();
  2.  
  3. foreach ($data['conditions']['OR'] as $sField => $sValue) {
  4.          $orConditions[] = "$sField='" . your_escape_func($sValue) . "'";
  5. }
  6.  
  7. $orConditionsString = implode(' ', $orConditions);
  8. $sQuery = "SELECT ... FROM ... WHERE $orConditionsString";

Saludos.
  #3 (permalink)  
Antiguo 17/10/2011, 15:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Array dentro de un array

Por lo que entiendo, deberías hacer una función recursiva:

Código PHP:
Ver original
  1. function recorre($ar){
  2.   foreach($ar as $key =>$valor){
  3.     if(is_array($valor))
  4.        recorre($valor);
  5.     else
  6.       miprocedimiento.....
  7.   }
  8. }

Etiquetas: sql
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:12.