Page 1 of 1

Recursive Function Help

Posted: Thu Dec 09, 2004 10:00 pm
by hawleyjr
I have an array of directories:

Code: Select all

Array
(
    їdir1] => Array
        (
            їdir2] => Array
                (
                    їdir3] => 
                )

        )

    їa] => Array
        (
            їb] => 
        )

    їanother dir] => 
)
I'm trying to write a function that will return the following:

Code: Select all

Array
(
    ї0] => "dir1"
    ї1] => "dir1|dir2"
    ї2] => "dir1|dir2|dir3"
    ї3] => "a"
    ї4] => "a|b"
    ї5] => "another dir"
    
)
I have messed around with the following recursive function it's just not working for me...


Code: Select all

<?php

/*
THE FOLLOWING IS JUST AN EXAMPLE OF WHAT I'VE TRIED 

ANY HELP IS APPRECIATED
*/

	function &getDirList($a_,$cur_dir){
	
		if(is_array($a_)){
			foreach($a_ as $ak=>$val){
				if(!is_array($val)){
				
			//	echo '<HR><PRE>'; print_r($a_); echo '</PRE>';
					$a_return_val[]=$cur_dir.'|'.$ak;
					echo '<BR>'.$cur_dir.'|'.$ak.'<BR>';
					
				}else{
					$a_return_val[]=&getDirList($val,$cur_dir.'|'.$ak);
					$a_return_val[]=$cur_dir.'|'.$ak;
					echo '<BR>'.$cur_dir.'|'.$ak.'<BR>';
				}
			}
				
		}
		return $a_return_val;
	}

?>