Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/06/2014, 21:00
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Extraer o copiar elementos de una posicion determinada

Código PHP:
Ver original
  1. $paises = ['argentina','brasil','peru','usa','colombia','japon'];
  2. $frutas = ['guanabana','patilla','papaya','pera','manzana','melon'];
  3. $objetos = ['silla','mantel','destornillador'];
  4.  
  5. $arreglomezclado = array("manzana","silla","argentina","argentina","manzana","pera","mesa", "brasil","melon","mantel","peru","argentina");
  6.  
  7. // copio el array en vez de alterarlo eliminando los repetidos
  8. $pajar = array_unique($arreglomezclado);
  9.  
  10. $found = [];
  11.  
  12. $found['paises'] = array_intersect($pajar,$paises);
  13. $found['frutas'] = array_intersect($pajar,$frutas);
  14. $found['objetos'] = array_intersect($pajar,$objetos);
  15.  
  16. var_dump($found);

Resultado:

Código PHP:
Array
(
    [
paises] => Array
        (
            [
2] => argentina
            
[5] => brasil
            
[8] => peru
        
)

    [
frutas] => Array
        (
            [
0] => manzana
            
[3] => pera
            
[6] => melon
        
)

    [
objetos] => Array
        (
            [
1] => silla
            
[7] => mantel
        
)


He usado la notacion [] en vez de array() ... podria o no funcionarte dependiendo de tu version de PHP

Ese codigo se puede generalizar mas:

Código PHP:
Ver original
  1. $arreglomezclado = array("manzana","silla","argentina","argentina","manzana","pera","mesa", "brasil","melon","mantel","peru","argentina");
  2.  
  3. $search = [];
  4. $search['paises'] = ['argentina','brasil','peru','usa','colombia','japon'];
  5. $search['frutas'] = ['guanabana','patilla','papaya','pera','manzana','melon'];
  6. $search['objetos']= ['silla','mantel','destornillador'];
  7.  
  8.  
  9. // copio el array en vez de alterarlo eliminando los repetidos
  10. $subject = array_unique($arreglomezclado);
  11.  
  12. $found = [];
  13. foreach ($search as $key => $arr)
  14.     $found[$key] = array_intersect($subject,$search[$key]);
  15.  
  16. var_dump($found);
__________________
Salu2!

Última edición por Italico76; 24/06/2014 a las 21:12