Arrays in strings

Very often you will want to use an array directly inside a string using code something like this:

<?php
    $myarray['foo'] = "bar";
    print "This is from an array: $myarray['foo']\n";
?>

Sadly, that won't work - PHP will consider $myarray to be a variable by itself and consider the ['foo'] part as a normal string that it should tack on to the end of the value of $myarray. The way around this is to use braces { and } around the variable, which is how you tell PHP that you are passing it an array to read from. This next snippet is the right way to do things:

<?php
    $myarray['foo'] = "bar";
    print "This is from an array: {$myarray['foo']}\n";
?>

 

Want to learn PHP 7?

Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!

If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: Saving arrays >>

Previous chapter: Holes in arrays

Jump to:

 

Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.