怎么利用循环得到一个无限层次的多维数组?意为:循环1-3-n,得到$var[1][2][3]-[n]的多维数组。

怎么利用循环得到一个无限层次的多维数组?意为:循环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));   

---------------------------------------------------------------

&表示传址
函数传递参数默认是传值,即函数得到的是一个副本。而当用&声明后传递的是变量的地址,这样在函数内可对该变量进行修改。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus