I want to make array like below :
array(
0 => array ( 0 => array (q,a,alt),
1 => array (q,a,alt),
2 => array (q,a,alt)
),
1 => array ( 0 => array (q,a,alt),
1 => array (q,a,alt),
2 => array (q,a,alt)
),
2 => array ( 0 => array (q,a,alt),
1 => array (q,a,alt),
2 => array (q,a,alt)
)
);
I have gone through all over I couldn't get solution anywhere. Below is my code :
<?php
$mainArray = array();
$ans = array('q', 'a', 'att');
for($i = 0; $i < 3; $i++) {
$mainArray[$i] = array();
for($j = 0; $j < 3; $j++) {
$mainArray[$i][$j] = array('q','a','att');
}
}
print_r($mainArray);
?>
What I get is something wrong.
Below is my output :
Array ( [0] => Array ( [0] => Array ( [0] => q [1] => a [2] => att ) [1] => Array ( [0] => q [1] => a [2] => att ) [2] => Array ( [0] => q [1] => a [2] => att ) ) [1] => Array ( [0] => Array ( [0] => q [1] => a [2] => att ) [1] => Array ( [0] => q [1] => a [2] => att ) [2] => Array ( [0] => q [1] => a [2] => att ) ) [2] => Array ( [0] => Array ( [0] => q [1] => a [2] => att ) [1] => Array ( [0] => q [1] => a [2] => att ) [2] => Array ( [0] => q [1] => a [2] => att ) ) )
It's actually much easier than you think.
PHP has a function called array_fill which will create an array 'from key' to 'number of items' with 'value'.
$ans = array('q', 'a', 'att');
$no = 3;
$arr = array_fill(0, $no, $ans);
var_dump($arr);
Output:
array(3) {
[0]=>
array(3) {
[0]=>
string(1) "q"
[1]=>
string(1) "a"
[2]=>
string(3) "att"
}
[1]=>
array(3) {
[0]=>
string(1) "q"
[1]=>
string(1) "a"
[2]=>
string(3) "att"
}
[2]=>
array(3) {
[0]=>
string(1) "q"
[1]=>
string(1) "a"
[2]=>
string(3) "att"
}
}