Foros del Web » Programando para Internet » PHP »

arrays

Estas en el tema de arrays en el foro de PHP en Foros del Web. Hola a todos, Alguien sabe alguna funcion que teniendo 2 arrays me saque un tercer array con los elementos del primero que no están en ...
  #1 (permalink)  
Antiguo 28/04/2008, 07:59
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 1 mes
Puntos: 1
arrays

Hola a todos,

Alguien sabe alguna funcion que teniendo 2 arrays me saque un tercer array con los elementos del primero que no están en el segundo? Sé que había alguna funcion pero no me acuerdo del nombre!
  #2 (permalink)  
Antiguo 28/04/2008, 08:18
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: arrays

lo que yo haria.
es comparar los 2 arreglos y con una boolean lleno otro areglo,
me explico:
tener una variable $sw tenga 2 estados true y false;
despues con 2 for en el primeriro dejo mi $sw = false y en el 2º for compraro el array 1 de la posicion del contador de mi primer for ($i) con el array 2 posicion del contador array ($j)

con esto comparas el array 1 de la posicion N con todo el array 2, ahora si el array1[$i] es igial (==) al array2[$j] entonces cambias el estado de la variable $sw a true y cuando termine de recorrer el 2º for haces otro if preguntando si el $sw es false si es hace el valor del array1 no se encuentra en el array2 y creas un nuevo array.


se que es un poco confuso, pero eso es teoria, en código debería ser poco.
__________________
~~[FiDeLio]~~
  #3 (permalink)  
Antiguo 28/04/2008, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: arrays

Hola leeann,

Te recomendaría usar array_diff.

Saludos.
  #4 (permalink)  
Antiguo 28/04/2008, 09:21
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: arrays

Un ejemplo

Código PHP:
      if( isset($submit_agregar)) {
    if( 
$submit_agregar == " x " ) {
      for ( 
$i=$i $i_max$i++ ) {
        if ( 
$ar_elim[$i] ) {
          
$t $i;
          for ( 
$j=$i+1$j $i_max$j++ ){
            
            
$ar_idequ[$t] = $ar_idequ[$j];
            
$ar_nombre[$t] = $ar_nombre[$j];
            
$ar_nomequ[$t]  = $ar_nomequ[$j];
            
$ar_marca[$t] = $ar_marca[$j];
            
$ar_modelo[$t] = $ar_modelo[$j];
            
$ar_marca[$t] = $ar_marca[$j];
            
$ar_serie[$t] = $ar_serie[$j];
            
$ar_anio[$t] = $ar_anio[$j];
            
$ar_ubica[$t]  = $ar_ubica[$j];
            
$ar_resolu[$t] = $ar_resolu[$j];
            
$ar_elim[$t]   = $ar_elim[$j];
            
$t++;
          }
          
$i_max--;
          
$i--;
        }
      }
    }else{
      
$i_max++;
      if ( 
$i_max == $i_max=5;
    }
    
$error=1;
    
    }else{
  }
  if( 
$idx_elim ) {
    
$submit_agregar "OK";
    
$i_max--;
    
$error=1;
  } 
Y cuando hagas el insert colocas esto

Código PHP:
  for ( $i=$i $i_max$i++ ) {

        
$ing_itm "INSERT INTO am_rl_equins(rei_folio,rei_idequi,rei_idx_reg,rei_patente,rei_nomequ,rei_marequ,"
                   
."rei_modequ,rei_serie,rei_inspector,rei_anio,rei_ubica,"
                   
."rei_resolu,rei_destino) "
                   
."VALUES ('$f_folio','$ar_idequ[$i]','$i','$ar_patente[$i]','$ar_nombre[$i]','$ar_marca[$i]',"
                   
."'$ar_modelo[$i]','$ar_serie[$i]','$ar_inspector[$i]',"
                   
."'$ar_anio[$i]','$ar_ubica[$i]','$ar_resolu[$i]','$ar_destin[$i]')";
         
$ret db_query($ing_itm) or die(db_error());
     } 

Saludos
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:20.