Variables assigned from PHP {#language.assigned.variables} =========================== Assigned variables that are referenced by preceding them with a dollar (`$`) sign. PHP code assign('firstname', 'Doug'); $smarty->assign('lastname', 'Evans'); $smarty->assign('meetingPlace', 'New York'); $smarty->display('index.tpl'); ?> `index.tpl` source: Hello {$firstname} {$lastname}, glad to see you can make it.
{* this will not work as $variables are case sensitive *} This weeks meeting is in {$meetingplace}. {* this will work *} This weeks meeting is in {$meetingPlace}. This above would output: Hello Doug Evans, glad to see you can make it.
This weeks meeting is in . This weeks meeting is in New York. Associative arrays {#language.variables.assoc.arrays} ------------------ You can also reference associative array variables by specifying the key after a dot \".\" symbol. assign('Contacts', array('fax' => '555-222-9876', 'email' => 'zaphod@slartibartfast.example.com', 'phone' => array('home' => '555-444-3333', 'cell' => '555-111-1234') ) ); $smarty->display('index.tpl'); ?> `index.tpl` source: {$Contacts.fax}
{$Contacts.email}
{* you can print arrays of arrays as well *} {$Contacts.phone.home}
{$Contacts.phone.cell}
this will output: 555-222-9876
zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
Array indexes {#language.variables.array.indexes} ------------- You can reference arrays by their index, much like native PHP syntax. assign('Contacts', array( '555-222-9876', 'zaphod@slartibartfast.example.com', array('555-444-3333', '555-111-1234') )); $smarty->display('index.tpl'); ?> `index.tpl` source: {$Contacts[0]}
{$Contacts[1]}
{* you can print arrays of arrays as well *} {$Contacts[2][0]}
{$Contacts[2][1]}
This will output: 555-222-9876
zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
Objects {#language.variables.objects} ------- Properties of [objects](#advanced.features.objects) assigned from PHP can be referenced by specifying the property name after the `->` symbol. name: {$person->name}
email: {$person->email}
this will output: name: Zaphod Beeblebrox
email: zaphod@slartibartfast.example.com