怎么利用循环得到一个无限层次的多维数组?意为:循环1-3-n,得到$var[1][2][3]-[n]的多维数组。
function getArr(){
$sArr = Array();
$sArr[1] = 1;
//假设这里递归n次,则得到n维递级child元素
$sArr[1]["child"]=getArr();
}
谢谢!
---------------------------------------------------------------
1
2function getArr($num){
3$sArr = Array();
4$sArr[1] = $num;
5if($num >0) {
6$sArr[child] = getArr($num-1);
7}
8return $sArr;
9}
10print_r(getArr(3));
Array
(
[1] => 3
[child] => Array
(
[1] => 2
[child] => Array
(
[1] => 1
[child] => Array
(
[1] => 0
)
)
)
)
---------------------------------------------------------------
1
2function getArr($i,&$sArr) {
3$sArr = Array();
4$randi = rand();
5$sArr[$randi] = 1;
6$i--;
7if ($i>0){
8//假设这里递归n次,则得到连续的同级数组
9$sArr[]=getArr($i,$sArr);
10}
11return $sArr;
12}
13$ar = array();
14print_r(getArr(5,$ar));
---------------------------------------------------------------
&表示传址
函数传递参数默认是传值,即函数得到的是一个副本。而当用&声明后传递的是变量的地址,这样在函数内可对该变量进行修改。