Re: Re: How to print variable name and contents
| From: | Edward Vermillion | Date: | Fri, 17 Jun 2005 17:45:01 +0000 |
| Subject: | Re: Re: How to print variable name and contents | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-217145@lists.php.net to get a copy of this message | ||
On Jun 17, 2005, at 9:18 AM, Bob Winter wrote:
nntp.charter.net wrote:Dunno if anyone's mentioned it yet, but have you had a look at debug_backtrace()? http://www.php.net/manual/en/function.debug-backtrace.php I use it a lot during development and you skip the eval() call. You should be able to write a simple function to pull the info out that you want, but I usually just do a print_r() on it and manually look through the output. Edward Vermillion evermillion@doggydoo.netI want to write a trace procedure and call it with variable names, and I am having trouble with the syntax. My goal is to have a procedure that will echo lines such as: Trace: $myvar="the contents of $myvar My attempt that didn't work is to write a function: function my_trace($m){ echo ("\n<br>TRACE: $m = "); eval("\$t=\"$m\";"); echo($t."<br>\n"); } and call it with statements like: my_trace("\$my_var"); my_trace("\$_ENV[\"COMPUTERNAME\"]"); What am I doing wrong, and how should this be done? Also, should I post to a different group? Thanks, Gil Grodsky ggrodsky@charter.netTry this script, it works for me: $my_var = 'Hello world!';function my_trace($m){ // pay attention to the use of single vs double quotes throughout $q = substr($m, 1); // chop off the leading '$' in the variable name @eval("global \${$q};"); // need to use global to get value of local variables into this function // also need @ to supress warning caused by brackets in superglobal variables eval("\$t = \${$q};"); // assign value of orginal $m to $techo ("<br />TRACE: $m = $t<br />"); // outputmy_trace('$my_var'); // note the use of single quotes here my_trace('$_ENV["COMPUTERNAME"]'); // note where the single quotes are used hereHope it helps, Bob -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php