2012-02-15 15 views
5

Decir que tengo una matriz en PHP que se ve así:valor Acceso de campo iterado en bigote PHP

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

me gustaría recorrer la matriz mediante bigote pero me gustaría que el valor asociado. Esto es lo que espero hacer:

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

espero que haya resultado devuelto sería:

value1 
    value2 
    value3 

He estado recibiendo todo esto cambiando la estructura de mi a:

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

Y llame a {{valule}} dentro del iterador de Moustache.

¿Debería estar haciendo esto de una manera completamente diferente? Estoy usando SplFixedArray en PHP y me gustaría repetir los valores con este método ...

¡Gracias!

Respuesta

9

El iterador implícito es el camino a seguir para obtener datos simples. Si sus datos son más complejos, entonces PHPs ArrayIterator hace bien el trabajo.

Aquí hay un ejemplo que tengo trabajando. Espero que sea útil para otra persona.

$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); 

Y en la plantilla que podría tener

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

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