[A]
If you want to create simple 1 to 20 number array with key value then use below code:
<?php $array = array(); for ($x = 1; $x <= 20; $x++) { $array[] = $x; } echo "<pre>"; print_r($array); echo "</pre>"; ?>
Or Even More Better.... :)
$array = range(1, 20, 1); echo "<pre>"; print_r($array ); echo "</pre>";
You can also use below Single line code:
$array = array_combine(range(0,19),range(1,20)); echo "<pre>"; print_r($array); echo "</pre>";
And of course, If you want your key and value both have 1 to 20 value then use below one:
$array = array_combine(range(1,20),range(1,20)); // Output A Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 [10] => 11 [11] => 12 [12] => 13 [13] => 14 [14] => 15 [15] => 16 [16] => 17 [17] => 18 [18] => 19 [19] => 20 )
[B]
And Also, there is a much simpler way of creating a range of even numbers is by starting with an even number:
$evenarray = range(2, 10, 2); echo "<pre>"; print_r($evenarray); echo "</pre>"; // Output B Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
Also you can create your Own function to make your array which start, Ends and increase nth steps as below:
function myRange($start, $limit, $step) { $myArr = array(); foreach((array) range($start, $limit,$step) as $k => $v) { $myArr[$k+1] = $v; } return $myArr; } echo "<pre>"; print_r(myRange(0, 100, 10)); echo "</pre>"; // Output B Array ( [1] => 0 [2] => 10 [3] => 20 [4] => 30 [5] => 40 [6] => 50 [7] => 60 [8] => 70 [9] => 80 [10] => 90 [11] => 100 )
OR use Below Code to start your key with "Zero" Not "one"
function my_range( $start, $end, $step = 1) { $range = array(); foreach ((array)range( $start, $end ) as $index) { if (! (($index - $start) % $step) ) { $range[] = $index; } } return $range; } echo "<pre>"; print_r(my_range(0, 100, 10)); echo "</pre>"; Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 [6] => 60 [7] => 70 [8] => 80 [9] => 90 [10] => 100 )
0 Comments