PEAR Manual
Prev |  | Next

# {foreach:variable,key,value}

{foreach:variable,key,value} -- creates a PHP foreach loop

## Synopsis

``Usage` ({foreach:variable,key,value}, {foreach:variable,value})`

## Description

creates a foreach loop, needs an {end:} tag. note that the engine will add the variable to the scope, so they will not be prefixed with $t-> when used inside the loop.

## Parameter

- `string variable` - relates to $object->variable

- `string key` - creates a variable 'key' in the current scope.

- `string value` - optionally creates a variable 'value' in the current scope. (as in $key=>$value)

## Example

Example 41-1. Setting variables for foreach
    $this->a = array(
      "dog" => "cat",
      "fire" => "water"
    );
    $this->b = array('a','b','c');

    $template->outputObject($this);

Example 41-2. Foreach in template
    {foreach:a,k,v}
      k is {k}, and v is {v}
    {end:}
    {foreach:b,v}
      v is {v}
    {end:}

Example 41-3. Compiled template
    <?php if (is_array($t->a)) foreach($t->a as $k => $v) { ?>
      k is <?php echo htmlspecialchars($k); ?>, and v is <?php echo htmlspecialchars($v); ?>
    <?php } ?>
    <?php if (is_array($t->a)) foreach($t->b as $v) { ?>
      v is <?php echo htmlspecialchars($v); ?>
    <?php } ?>

Example 41-4. example output
    k is dog, v is cat
    k is fire, v is water
    v is a
    v is b
    v is c

Prev | Home | Next
{method(arguments,#quoted arguments#)} | Up | {if:variable}