Re: variable substitution
| From: | jekillen | Date: | Wed, 02 Jan 2008 00:06:56 +0000 |
| Subject: | Re: variable substitution | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-266465@lists.php.net to get a copy of this message | ||
On Jan 1, 2008, at 3:48 PM, James Ausmus wrote:
On Jan 1, 2008 2:17 PM, jekillen <jekillen@prodigy.net> wrote:Thanks for the suggestion; Jeff KHello again; I have two variables declared in the global scope of a script. $string_a = 'stuff $string_b and more stuff'; $string_b = ''; One is a string with a reference for substitution to the other string which is empty. In the processing body of the script are if/if else blocks. In these blocks I want to use $string_a and set $string_b to a value if( condition) { $string_b = 'by the way;';... etc so $string_a should read: "stuff and by the way; and more stuff" But this substitution will not take place in the context of the else if block. I do not want to write $string_a in at least 5 different if else blocks because it is about 10 lines intended to be an e-mail message body -> !SPAM.Several ways to do this (and avoid globals or a str_replace call): #1: if (condition) { $string_b = 'blah'; } else if (condition2) { $string_b = 'foo'; } else if (condition3) { $string_b = 'bar'; } else { $string_b = 'other'; } $string_a = "stuff $string_b and more stuff"; The reason for this is the variable substition occurs *at the time of assignment* - not later. Another way, if it's not easy to have your string_b setting conditionals all in a row like that (or if this needs to be done elsewhere in code, as well), would be: function assignStrA($subStr) { $retVal = "stuff $subStr and more stuff"; return $retVal; } if (cond1) { $string_a = assignStrA('foo'); } else if (cond2) { $string_a = assignStrA('bar'); } else { $string_a = assignStrA('other'); }This looks good
this script is used to process data sent from a link in another e-mail message used to validate and e-mail address. Q: Is there a way to get the substitution to takeplace here? (by reference, maybe?)Thank you in advance for info Jeff K -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php