This would be a little neater: foreach(func_get_arg(2) as $k => $WhereArray) { //echo $WhereArray[0][0]; $SQLStmt .= ' ' . $WhereArray[0] . ' ' . $WhereArray[1] . ' ' . $WhereArray[2]; if($k != 0) $SQLStmt .=' ' . $WhereArray[3]; }; Simcha Younger -----Original Message----- From: Frank Stanovcak [mailto:blindspotpro@xxxxxxxxxxx] Sent: Thursday, September 18, 2008 5:30 PM To: php-general@xxxxxxxxxxxxx Subject: Function parameters and arrays I am trying to pass a multi dimmed array as a variable parameter to a custom function to build a query for me. Here is the basic code and what I am getting. $WhereList[0][0] = 'OESalesOrder.OrderNo'; $WhereList[0][1] = '='; $WhereList[0][2] = '2272'; $SQLString = SQLCall('OESalesOrder',$FieldList,$WhereList); I then use a foreach in the function to process it. $i = 0; foreach(func_get_arg(2) as $WhereArray) { echo $WhereArray[0][0]; if($i == 0) { $SQLStmt .= ' ' . $WhereArray[$i][0] . ' ' . $WhereArray[$i][1] . ' ' . $WhereArray[$i][2]; $i += 1; } else { $SQLStmt .= ' ' . $WhereArray[$i][0] . ' ' . $WhereArray[$i][1] . ' ' . $WhereArray[$i][2] . ' ' . $WhereArray[$i][3]; $i += 1; }; }; What I get when it processes is the first three letters of [0][0] [0][0] = O [0][1] = E [0][2] = S Did I do something wrong, or is this not possible? I have done an array processing this way before, but not multidimmed. Frank. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.169 / Virus Database: 270.6.21/1675 - Release Date: 17/09/2008 17:07 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php