<?php
function getSequenceAry($arr)
{
if (count($arr) == 1) {
return array($arr);
}
$arrRet = array();
foreach ($arr as $k => $v) {
$arr2 = $arr;
unset($arr2[$k]);
$arrOrderList = getSequenceAry($arr2);
foreach ($arrOrderList as $order) {
array_unshift($order, $v);
$arrRet[] = $order;
}
}
return $arrRet;
}
function getSequenceStr($arr)
{
if (count($arr) == 1) {
return $arr;
}
$arrRet = array();
foreach ($arr as $k => $v) {
$arr2 = $arr;
unset($arr2[$k]);
$arrOrderList = getSequenceStr($arr2);
foreach ($arrOrderList as $order) {
$arrRet[] = $v . $order;
}
}
return $arrRet;
}
print_r(getSequenceAry(array(1,2,3)));
print_r(getSequenceStr(array(1,2,3)));