Scenario/Problem Isolation: Lets suppose my program uses MULTIPLE variables. At the program beginning I want to manipulate MANY of the variables AT ONCE through a general function with LITTLE CODE, before then later in the process using only distinctive few variables in specific functions.Question: How do I pass multiple variables by reference to a foreach loop? Or is there a better/alternative method for looping through multiple determined variables?Post(s) related to topic, but didn't solve my issue:http://stackoverflow.com/questions/1186274/php-foreach-loop-on-multiple-objectsBackground (for those concerned): I have a command line program which uses getopts http://hash-bang.net/2008/12/missing-php-functions-getopts/ to get various arguments, thus I get about 20 variables. I want to run all variables, which contain filepath(s) (about 10) through the "general" function reduceHierarchyDots() at ONCE (instead of calling the function 10 times).\[code\]<?php/// The "general" function:function reduceHierarchyDots ($file) { while (preg_match('|./\.{2}/|', $file)) { $file = preg_replace('|/([^/]+)/\.{2}/|', '/', $file, 1); } $file = preg_replace('|(/(\./)+)|', '/', $file); $file = preg_replace('|^(\./)+|', '', $file); return $file;}function reduceHierarchyDotsRef (&$file) { while (preg_match('|./\.{2}/|', $file)) { $file = preg_replace('|/([^/]+)/\.{2}/|', '/', $file, 1); } $file = preg_replace('|(/(\./)+)|', '/', $file); $file = preg_replace('|^(\./)+|', '', $file);}/// The "many" variables:$x = "something";$y = 123;$y = array ("a", "B", 3);$a = "/Users/jondoe/Desktop/source/0.txt";$b = "/Users/jondoe/Desktop/source/../1.txt";$c = "/Users/jondoe/Desktop/source/../../2.txt";$arrOne = array ( "v1" => "/some/thing/../1.pdf", "v2" => "/some/thing/../../2.pdf", "v3" => "/some/thing/../../../3.pdf");$arrTwo = array ( "./1.doc", "/so.me/.thing/ends./././2.doc", "./././3.doc");/// At the beginning I want to run multiple determined variables through a "general" function:/// Debugging: Variables BEFORE the manipulation:echo("BEFORE:\n"); var_dump($b, $arrOne["v2"], $arrTwo[2]); echo("\n");/// Method works, but is long! (1 line/statement per function call)reduceHierarchyDotsRef($b);reduceHierarchyDotsRef($arrOne["v2"]);reduceHierarchyDotsRef($arrTwo[2]);/// Hence, I'd like to pass all variables by reference at once to a foreach loop://// These cause: Parse error: syntax error, unexpected '&':// foreach ( array($b, $arrOne["v2"], $arrTwo[2] ) as &$file) { $file = reduceHierarchyDots($file); }// foreach (array(&$b, &$arrOne["v2"], &$arrTwo[2] ) as &$file) { $file = reduceHierarchyDotsRef($file); }//// These have no effect on the intended variables:// foreach (array(&$b, &$arrOne["v2"], &$arrTwo[2] ) as $file) { $file = reduceHierarchyDots($file); }// foreach (array(&$b, &$arrOne["v2"], &$arrTwo[2] ) as $file) { $file = reduceHierarchyDotsRef($file); }/// Debugging: Variables AFTER the manipulation:echo("AFTER:\n"); var_dump($b, $arrOne["v2"], $arrTwo[2]);/// After the "general" function ran over various variables, the more specific actions happen: ...?>\[/code\]