Heim  >  Artikel  >  Backend-Entwicklung  >  问下怎么生成所有的不重复的数组

问下怎么生成所有的不重复的数组

WBOY
WBOYOriginal
2016-06-23 13:45:45882Durchsuche

比如 ab
生成
ab
ba
比如  a b c
生成所有的
abc
acb
bac
bca
cab
cba


回复讨论(解决方案)

$str    = 'abc';$res    = Arrangement( $str );print_r($res);function Arrangement($arr = array(), $res = '') {  if(! is_array($arr) ) $arr = str_split($arr);  if(empty($arr)) $array[] = $res;  else foreach($arr AS $k => $v) {    unset($arr[$k]);    foreach( Arrangement($arr, $res . $v) AS $t) $array[] = $t;    $arr[$k]    = $v;  }  return  $array;}
Array(    [0] => abc    [1] => acb    [2] => bca    [3] => bac    [4] => cab    [5] => cba)

非常感谢,是我要的效果

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn