xlebabarov
Registered
Здравейте, да предположим, че имаме следния масив:
Когато изпълняваме следната функция с рекурсия:
Получаваме:
Но как да изведем в кое ниво се намира изпълнението на рекурсивната функция за всеки ключ?
Код:
Array
(
[] => Array
(
[3] =>
[4] =>
[5] =>
[ar] => Array
(
[0] =>
[kenneth] =>
[freesby] => Array
(
[0] =>
[1] =>
[johnson] =>
)
)
)
[1] => Array
(
[3] =>
[4] =>
[5] =>
)
)
Код:
$a = array(''=>array(3=>'', 4=>'', 5=>'', 'ar'=>array(0=>'', 'kenneth'=>'', 'freesby'=>array(0=>'', 1=>'', 'johnson'=>''))), 1=>array(3=>'', 4=>'', 5=>''));
define("PTA", array(
"boolean", //0
"integer", //1
"double", //2
"float", //3
"string", //4
"array", //5
"object", //6
"resource", //7
"resource (closed)", //8
"NULL", //9
"unknown type" //10
));
function gaka($arr=array(), $pass=array()){
ksort($arr);
foreach($arr as $key[0]=>$val[0]){
if((gettype($val[0])==PTA[5]))
{ echo '-'.$key[0]."\n";
gaka($val[0]);}
else
{ echo $key[0]."\n"; }
}
}
Код:
-
-ar
0
-freesby
0
johnson
1
kenneth
3
4
5
-1
3
4
5