Echo some string and multidimensional array elemen

2019-01-28 07:40发布

问题:

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!

回答1:

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:



回答2:

Use concatenation:

echo "Some string: " . $ARRAY['first'][0][0]);

or

echo "Some string: ", $ARRAY['first'][0][0]);


回答3:

echo "Some string: {$ARRAY['first'][0][0]}";