Use global. Read the docs about variable scoping. If you use php >=4.1.0 then use $_POST, $_GET,... they not need to use global. Global scope. <? function show($name) { global $HTTP_POST_VARS; $cnt = count($HTTP_POST_VARS[$name]); echo "Count for $name is $cnt"; echo "<br />"; } show("countries"); show("cities"); ?>
Regards, Andrey Hristov ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, February 23, 2002 7:31 PM Subject: [PHP] Associative array key as a variable > Hi. > > I have the following PHP program executed from an HTML form where I pass > the associative array key name as a variable: > > <? > function show($name) > { > $cnt = count($HTTP_POST_VARS[$name]); > echo "Count for $name is $cnt"; > echo "<br />"; > } > show("countries"); > show("cities"); > ?> > > The result is always 0. The form fields do have name=countries[] and > name=cities[] to indicate an array. > When I hardcode the count line in the function as follows just to test > to make sure the transfer from the browser works, it displays a correct > non-zero result: > > $cnt = count($HTTP_POST_VARS["cities"]); > > I even tried these statements in the function but all give a 0 result: > > $cnt = count($HTTP_POST_VARS["".$name.""]); > > How do I get the count line to work with a variable in the function? > Thanks, > > Eurico > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php