I've been struggling with some weird thing about php for a while.
It seems as if it is unable to display some string and a multidimensional array element using one line of code.
For example we have a simple 3d array:
$ARRAY = array('first' => array(array('Hello, World!')));
Now if I want to display some string and that 3rd level element, I'll have to do something like this:
$a = $ARRAY['first'][0][0];
echo"Some string: $a";
Or this:
echo"Some string: ";
echo($ARRAY['first'][0][0]);
So is there any way to actually do it in just one line of code?
Thank you!
echo "Some string: {$ARRAY['first'][0][0]}";
Read more at PHP.Net
Complex (curly) syntax
This isn't called complex because the syntax is complex, but because it allows for the use of complex expressions.
Any scalar variable, array element or object property with a string representation can be included via this syntax. Simply write the expression the same way as it would appear outside the string, and then wrap it in { and }. Since { can not be escaped, this syntax will only be recognised when the $ immediately follows the {. Use {\$ to get a literal {$. Some examples to make it clear:
Use concatenation:
echo "Some string: " . $ARRAY['first'][0][0]);
or
echo "Some string: ", $ARRAY['first'][0][0]);
echo "Some string: {$ARRAY['first'][0][0]}";