[PHP] Associative array key as a variable

2002-02-23 Thread ejfs

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




Re: [PHP] Associative array key as a variable

2002-02-23 Thread Andrey Hristov

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