I am having mathematics oriented question.Here i like to get the all possible combinations and looking to store in array.
For example:-
1 digit = 10 (0,1,2,3,....9)
2 digit = 100 (00,01,02,03,...)
I am having formula to find number of possibilities ie 10^n -1
.But i don't know how can i get the values.
function get_combinations(5){
//10^5 -1 = 99999 values
}
00000,00001,00010,00100,....
in array
0,1,2,....00,01,03,...99999
EDIT
I also like to mix some alphabets with the number
results like
0000a,000a1,000z1,00001,00000,....
Thanks in advance
$n = ???;
$array = range(0, pow(10, $n)-1);
yes, there is no integer start with zero
so, dun bother to construct an array start with leading zero
,
when you need to output str_pad
can be applied
function get_combinations($n)
{
return range(0, pow(10, $n)-1);
}
$array = get_combinations(5);
$pad = strlen(max($array));
// to output
echo str_pad($array[0], $pad, 0, STR_PAD_LEFT);
$result = array();
$count = pow(10,$x);
for ($i = 0, $i < $count, $i++) {
$result[] = str_repeat('0', $x - strlen($i)) . $i;
}
You can't have an integer that is 0000
because that is just 0
.
To get all numbers from 0 to 9 use the range() function
:
$array = range(0,9); // array(0,1,2,3,4,5,6,7,8,9)
And alike for bigger numbers.
If you want them as strings use sprintf or related to reformat that array.
Or just use a for(
loop :)
function get_combinations($exp){
$max = pow(10, $exp) - 1;
for ($i = 0; $i <= $max; $i++) $comb[] = str_pad($i, $exp, '0', STR_PAD_LEFT);
return $comb;
}
How about:
$n = 3;
function format($x) {
global $n;
return sprintf("%0${n}d", $x);
}
$arr = array_map('format', range(0, pow(10,$n)-1));
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.