I didn't say SOLVED becuase this gets me "sor of" what I want :

I added to the function an optional parameter so that if I reall wanted the var name to show I can pass it in...

I know it's messy, but for debugging it's fine:

function showvar($var,$varname="Var: ") {
   echo "Now Showing ".$varname.": <br>\n";
   echo $var;
}

This way I supply the var name if I want to.. such as:

$s1 = "Hello World";
showvar($s1,"s1");

or

showvar($s1);

thanks all

Ahbaid.


Dave Avent wrote:

        $test = "Hello World!";
        
        function showvar($var) {

                foreach($GLOBALS as $key => $value) {
                        if($value == $var) {
                                $varname = $key;        
                        }       
                }
                echo "Variable Name: ".$varname."<br>\n";
                echo "Variable Value: ".$var."<br>\n";
        }


showvar($test);


This is the only thing that works for me.....I know it is messy

-----Original Message-----
From: Michael Sims [mailto:[EMAIL PROTECTED]
Sent: 05 May 2004 4:23 PM
To: [EMAIL PROTECTED]
Subject: RE: [PHP] Print a variable's name


Ahbaid Gaffoor wrote:


Thanks Ryan,

but what I want is to be able to pass any variable to a procedure and
have the variable name and value printed by the procedure.

Can this be done?

I'm trying to extend my library of debugging functions/procedures by
having a procedure which can be used to "inspect" a variable whenever
I call it.



This is a bit kludgy, but should work:

function showvar($varname) {

 if (!isset($GLOBALS[$varname])) { return; }

 echo "Now showing: $varname\n";
 echo "Value: ".$GLOBALS[$varname]."\n";

}

$s1 = "Hello World";
showvar('s1');

HTH



Reply via email to