Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2014, 18:01
Steeep
 
Fecha de Ingreso: diciembre-2012
Mensajes: 5
Antigüedad: 11 años, 4 meses
Puntos: 0
Obtener elementos de array con sub elementos sin repetirse

Buenas a todos!

De nuevo por aquí con algunas dudas, pasa que tengo un array con sub elementos(por así decirlo) y necesito que se obtengan 3 valores al azar pero sin repetirse estos.

El array es el siguiente:

Código PHP:
Ver original
  1. (
  2.     [0] => Array
  3.         (
  4.             [uid] => 1
  5.             [ticket_code] => 0oreb8yo
  6.         )
  7.  
  8.     [1] => Array
  9.         (
  10.             [uid] => 1
  11.             [ticket_code] => 2oeii8hm
  12.         )
  13.  
  14.     [2] => Array
  15.         (
  16.             [uid] => 1
  17.             [ticket_code] => m0dwtjiw
  18.         )
  19.  
  20.     [3] => Array
  21.         (
  22.             [uid] => 1
  23.             [ticket_code] => q6c7cymb
  24.         )
  25.  
  26.     [4] => Array
  27.         (
  28.             [uid] => 1
  29.             [ticket_code] => zyqhm5bj
  30.         )
  31.  
  32.     [5] => Array
  33.         (
  34.             [uid] => 1
  35.             [ticket_code] => amdqzjpi
  36.         )
  37.  
  38.     [6] => Array
  39.         (
  40.             [uid] => 2
  41.             [ticket_code] => tzql7l42
  42.         )
  43.  
  44.     [7] => Array
  45.         (
  46.             [uid] => 2
  47.             [ticket_code] => gap0r6vf
  48.         )
  49.  
  50.     [8] => Array
  51.         (
  52.             [uid] => 2
  53.             [ticket_code] => ypqum5yz
  54.         )
  55.  
  56.     [9] => Array
  57.         (
  58.             [uid] => 4
  59.             [ticket_code] => smupluac
  60.         )
  61.  
  62.     [10] => Array
  63.         (
  64.             [uid] => 4
  65.             [ticket_code] => 9d8jsha7
  66.         )
  67.  
  68.     [11] => Array
  69.         (
  70.             [uid] => 5
  71.             [ticket_code] => 6hdnja42
  72.         )
  73.  
  74. )

Y necesito que se obtengan 3 "ticket_code", pero sin que en estos se repita el "uid".

Para hacerlo con un array simple me dieron esta solución, pero no se como hacerlo con este nuevo array.
Código PHP:
Ver original
  1. $array = array(2, 2, 1, 3, 3, 3, 4, 4, 5, 5, 6);
  2. $nuevo = array();
  3. $nuevo[] = $array[array_rand($array)];
  4. $i = 1;
  5. while ($i < 3)
  6.     if (!in_array($aux = $array[array_rand($array)], $nuevo)){
  7.         $nuevo[] = $aux;
  8.         $i++;
  9.     }

¿Alguna forma de hacerlo?

Se agradece de antemano si alguien sabe de algo ^^