2012-02-15 4 views
5

Dire che ho un array in PHP che si presenta in questo modo:valore di accesso di campo iterata in PHP Baffi

$values = Array(
     '0' => 'value1', 
     '1' => 'value2', 
     '2' => 'value3' 
    ) 

mi piacerebbe scorrere l'array usando Baffi ma mi piacerebbe il valore associato. Questo è quello che spero di fare:

{{#values}} 
     {{the current value}} 
    {{/values}} 

spero che ci risultato restituito sarebbe:

value1 
    value2 
    value3 

Sono stato sempre intorno a questo cambiando la mia struttura per:

$values = Array(
     '0' => array('value=' =>'value1'), 
     '0' => array('value=' =>'value2'), 
     '0' => array('value=' =>'value3'), 
    ) 

E chiama {{valule}} all'interno dell'iteratore Moustache.

Devo fare questo in un modo completamente diverso? Sto usando un SplFixedArray in PHP e mi piacerebbe scorrere i valori usando questo metodo ...

Grazie!

risposta

9

L'Iterator implicito è la strada da percorrere per dati semplici. Se i tuoi dati sono più complessi, PHP ArrayIterator svolge bene il lavoro.

Ecco un esempio che ho funzionato. Spero che sia utile per qualcun altro.

$simple_data = array('value1','value2','value3'); 
$complex_data = array(array('id'=>'1','name'=>'Jane'),array('id'=>'2','name'=>'Fred')); 

$template_data['simple'] = $simple_data; 
$template_data['complex'] = new ArrayIterator($complex_data); 

$mustache->render('template_name', $template_data); 

E nel modello si potrebbe avere

{{#simple}} 
     {{.}}<br /> 
{{/simple}} 

{{#complex}} 
    <p>{{ id }} <strong>{{ name }}</strong></p> 
{{/complex}}