For the last couple of days we had a number arguments at work about what is the best way to surround a complex PHP variable inside a double-quoted string. More specifically, should the sigil ($, dollar sign) be on the inside of the braces or on the outside. Consider an example:
# my way echo "Result: ${blah['something']}\n"; # the highway echo "Result: {$blah['something']}\n";
While considering a number of examples, there seems to be no difference – both ways work. We’d still need to pick one for consistency reasons though. And I, as an ex-Perl programmer, was suggesting that we should use the dollar sign on the outside of the expression. This how I remember it being in Perl (and PHP originated from Perl) . This is how I am used to it. And this is how makes most sense to me – a dollar sign immediately warns the programmer that the variable is ahead.
However, after consulting PHP documentation, I was proved wrong. It is said that both ways often work, but it is much safer to use the dollar sign on the inside. The manual page even provides a few examples where the dollar on the outside won’t work (such in case with objects).
While this is just a small thing to know and get used to, it still looks annoying to me.
> It is said that both ways often work
This is what I just *love* about string handling in PHP, complete lack of consistency. Just like in prety much everything else in PHP.