Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/04/2014, 15:27
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 21 años, 7 meses
Puntos: 7
Respuesta: Cómo mezclar X palabras sin que se repita la combinación

Ya, me ha salido aunque tengo que retocar alguna cosilla pero básicamente es esto:


Código PHP:
function powerSet($in,$minLength 1) { 
   
$count count($in); 
   
$members pow(2,$count); 
   
$return = array(); 
   for (
$i 0$i $members$i++) { 
      
$b sprintf("%0".$count."b",$i); 
      
$out = array(); 
      for (
$j 0$j $count$j++) { 
         if (
$b{$j} == '1'$out[] = $in[$j]; 
      }
      
$out_val implode(" "$out); 
      if (
count($out) >= $minLength) { 
         
$return[] = $out_val
      } 
   } 
   return 
$return
}

$str_arr=explode(" ","diseno web madrid");
$resultado=powerSet($str_arr); 
foreach (
$resultado as $valor)
{
    
    echo 
" $valor <br>";

Y la salida es esta:

madrid
web
web madrid
diseno
diseno madrid
diseno web
diseno web madrid

Gracias por la ayuda!