Re: variable substitution

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux