不用 静态参数的方法到是可以解决.
不过问题依旧 --如何释放函数中静态变量
<?php
function ar_list($ar,$ke,$i){
if(is_array($ar)){
foreach($ar as $key=>$value){
ar_list($value,$key,$i++);
}
}else{
echo "(".$i.")".$ke."=>".$ar."<br>";
$i++;
}
}
ar_list($_SERVER,"tao","0");
?>
不过问题依旧 --如何释放函数中静态变量
<?php
function ar_list($ar,$ke,$i){
if(is_array($ar)){
foreach($ar as $key=>$value){
ar_list($value,$key,$i++);
}
}else{
echo "(".$i.")".$ke."=>".$ar."<br>";
$i++;
}
}
ar_list($_SERVER,"tao","0");
?>
static $i;
if(empty($ke)) $i = 1;
if(is_array($ar)){
foreach($ar as $key=>$value){
ar_list($value,$key);
}
}else{
echo "(".$i.")".$ke."=>".$ar."<br>";
$i++;
}
}
ar_list($_SERVER,"");
ar_list($_SERVER,"");
function 里static 的作用域,到底是??
echo $i;并没有获取数据.
可是怎么,用开始的那中方法.function 竟然可以获取数据???
function ar_list($ar,$ke,$level=0){
if(is_array($ar)){
foreach($ar as $key=>$value){
ar_list($value,$key,$level+1);
}
}else{
echo "(".$level.")".$ke."=>".$ar."<br>";
}
}
ar_list($_SERVER,"");
ar_list($_SERVER,"");
?????
用递归时,保证$i数据一直存在,可用