Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Appendices : Migrating from PHP 3 to PHP 4 : Variable substitution in strings

Variable substitution in strings

PHP 4 adds a new mechanism to variable substitution in strings. You can now finally access object member variables and elements from multidimensional arrays within strings.

To do so you have to enclose your variables with curly braces with the dollar sign immediately following the opening brace: {$...}

To embed the value of an object member variable into a string you simply write "text {$obj->member} text" while in PHP 3 you had to use something like "text ".$obj->member." text".

This should lead to more readable code, while it may break existing scripts written for PHP 3. But you can easily check for this kind of problem by checking for the character combination {$ in your code and by replacing it with \{$ with your favorite search-and-replace tool.

Code Examples / Notes » migration4.strings

k.tomono

>But you can easily check for this kind of problem by
> checking for the character combination {$ in your code
> and by replacing it with \{$ with your favorite
> search-and-replace tool.
A code which was written below may exist.
 if("aaa"){$foo="bar";}
I've done like the following for the `easy checking`.  (on Linux - tcsh)
 egrep '".*\{\$.+\}.*"' *.php
also using Regexp Search of a Windows Editor (Emacs compatible.)
Search Word  : ".*{\$.+}.*"
I'm not so good at treating Regexp. so there may be a lack of
code pattern.


Change Language


Follow Navioo On Twitter
What has changed in PHP 4
Running PHP 3 and PHP 4 concurrently
Migrating Configuration Files
Parser behavior
Error reporting
Initializers
empty('0')
Missing functions
PHP 3 extension
Variable substitution in strings
Cookies
Handling of global variables
eXTReMe Tracker