On Jan 1, 2008, at 3:48 PM, James Ausmus wrote:
On Jan 1, 2008 2:17 PM, jekillen <jekillen@xxxxxxxxxxx> wrote:
Hello 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
Thanks for the suggestion;
Jeff K
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 take
place 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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php