Existing array $ arr & nbsp ;=& nbsp; array ('area ', 'income', 'age', 'gender') for PHP arrangement and combination '); to form a new array based on the elements in the preceding array, the following is an issue about the arrangement and combination of AreaGenderIncomeAgeArea PHP.
Existing array $ arr = array ('region', 'Welcome ', 'age', 'gender ');
To form a new array based on the elements in the preceding array:
AreaGenderIncomeAge
AreaGenderAgeIncome
AreaIncomeGenderAge
AreaIncomeAgeGender
AreaAgeGenderIncome
AreaAgeIncomeGender
GenderIncomeAgeArea
GenderIncomeAreaAge
GenderAgeAreaIncome
GenderAgeIncomeArea
GenderAreaAgeIncome
GenderAreaIncomeAge
IncomeAgeGenderArea
IncomeAgeAreaGender
IncomeAreaGenderAge
IncomeAreaAgeGender
IncomeGenderAreaAge
IncomeGenderAgeArea
AgeIncomeAreaGender
AgeIncomeGenderArea
AgeAreaGenderIncome
AgeAreaIncomeGender
AgeGenderAreaIncome
AgeGenderIncomeArea
I hope you can share the following good algorithms:
------ Solution --------------------
$ Arr = array ('region', 'Welcome ', 'age', 'gender ');
Print_r (Arrangement ($ arr ));
// Arrange Arrangement
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] => Area Income Age Gender
[1] => Area Income Gender Age
[2] => Area Age Gender Income
[3] => Area Age Income Gender
[4] => Area Gender Income Age
[5] => Area Gender Age Income
[6] => Income Age Gender Area
[7] => Income Age Area Gender
[8] => Income Gender Area Age