<?php
function getArr($num){
$sArr = Array();
$sArr[1] = $num;
if($num >0) {
$sArr[child] = getArr($num-1);
}
return $sArr;
}
print_r(getArr(3));
?>
Array
(
[1] => 3
[child] => Array
(
[1] => 2
[child] => Array
(
[1] => 1
[child] => Array
(
[1] => 0
) ) ))
function getArr($num){
$sArr = Array();
$sArr[1] = $num;
if($num >0) {
$sArr[child] = getArr($num-1);
}
return $sArr;
}
print_r(getArr(3));
?>
Array
(
[1] => 3
[child] => Array
(
[1] => 2
[child] => Array
(
[1] => 1
[child] => Array
(
[1] => 0
) ) ))
$sArr = Array();
var $randi = rand();
$sArr[$randi] = 1;
$i--;
if ($i>0){
//假设这里递归n次,则得到连续的同级数组
$sArr[]=getArr($i);
}
}
$strArr = getArr(5);
希望得到是5个数组元素的一个数组对象。
function getArr($i){
$sArr = Array();
while($i-- > 0)
$sArr[] = 1;
return $sArr;
}
递归数组地址,我这样试过,好象不行。
function getArr($i,$sArr){
$sArr = Array();
var $randi = rand();
$sArr[$randi] = 1;
$i--;
if ($i>0){
//假设这里递归n次,则得到连续的同级数组
$sArr[]=getArr($i,$sArr);
}
}得到的结果是空,但使用global使该变量全局,倒是可以。可能我的语法或理解错了,望指点。
function getArr($i,&$sArr) {
$sArr = Array();
$randi = rand();
$sArr[$randi] = 1;
$i--;
if ($i>0){
//假设这里递归n次,则得到连续的同级数组
$sArr[]=getArr($i,$sArr);
}
return $sArr;
}
$ar = array();
print_r(getArr(5,$ar));
?>
函数传递参数默认是传值,即函数得到的是一个副本。而当用&声明后传递的是变量的地址,这样在函数内可对该变量进行修改。