On Friday 15 March 2002 00:34, George Nicolae wrote:
> "Jason Wong" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
>
> > On Thursday 14 March 2002 21:53, George Nicolae wrote:
> > > I have the following code:
> > >
> > > <?
> > > function a($var_a)
> > > {
> > > b();
> > > }
> > >
> > > function b()
> > > {
> > > global $var_a;
> > > echo $var_a;
> > > }
> > >
> > > a("hello word!");
> > > ?>
> > >
> > > why function b() don't echo anything?
> >
> > Because $var_a has not, at any point, been defined in the global scope.
>
> how i declare $var_a as global?

Strictly speaking, in php you don't. Any variable declared outside of a 
function is what can be loosely called "global". To access such variables 
inside a function you must tell PHP you want to use the global version of 
that variable.

  $doo = 'dah';
  $foo = 'bar';
  a();

  function a() {
    global $doo;
    echo $doo; # displays 'dah';
    echo $fool # displays nothing.
  }

In your code above, you haven't defined $var_a anywhere outside of a 
function. Thus it is a local variable that only exists inside function a(). 
That is why function b() doesn't see it.

> > > can I resolve this problem without
> > > calling b($var_a)?
> >
> > I'm curious as to what you're trying to achieve. Could you enlighten me?
>
> I have a big(=many lines) function "a()" and a little one "b()". I call
> function "b()" from function "a()" and alsow from many other php files. I
> need to midify the function "b()" without modify any other php files.
> That's why I don't want to use b($var_a).

The easiest solution I can see right now is to explicitly define $var_a.

-- 
Jason Wong -> Gremlins Associates -> www.gremlins.com.hk
Open Source Software Systems Integrators
* Web Design & Hosting * Internet & Intranet Applications Development *

/*
The use of anthropomorphic terminology when dealing with computing systems
is a symptom of professional immaturity.
                -- Edsger Dijkstra
*/

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

Reply via email to