Daevid Vincent wrote:
 > I'm trying to remove ["menu"] == 'Login' from the array, but despite
"finding" the element, it never removes.
> isn't that what the & reference stuff is for?

Yes, but foreach can't modify an array unless you use a reference in the
foreach also.  Try this:

foreach($menuItems as &$value)


> 
> menuItem::removeMenuItems($navArray['dart'], array('Login', 'Lost Password'));
> 
> 
>       public static final function removeMenuItems(&$menuItems, $removeArray)
>       {
>               foreach($menuItems as $value)
>               {
>                       if (is_array($value->children))
>                               menuItem::removeMenuItems(&$value->children, 
> $removeArray);
>                       else
>                       {
>                               //echo "*** CHECKING ".$value->menu." against 
> ".implode(',',$removeArray)." ***";
>                               if (in_array($value->menu, $removeArray))
>                               {
>                                       //echo "*** REMOVING ".$value->menu." 
> ***";
>                                       unset($value);
>                               }
>                       }
>               }
>       }
> 


-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to