2010-12-23 17 views
7

Estoy intentando hacer una especie de barra de navegación php. Tengo el código html y lo que quiero hacer es usar un diccionario php ("Home" => "http://www.domain.com/") y convertirlo en código html.¿Cómo puedo hacer un bucle foreach usando diccionarios php?

+0

¿Qué tipo de código HTML? –

+0

En PHP los llamamos Matrices asociativas. ;) Casi fui todo .Net en ti, hasta que vi que eres un tipo pitón. – DampeS8N

+0

@ DampeS8N Tengo que luchar contra el impulso de llamarlos dicts todos los días. –

Respuesta

10
<ul> 
<?php foreach ($links as $title => $url): ?> 
    <li><a href="<?php echo htmlentities($url); ?>"><?php echo htmlentities($title); ?></a></li> 
<?php endforeach; ?> 
</ul> 
5
foreach($arr as $key=>$value) { 
    // your code here 
} 

que no tienen idea de cómo desea que su barra de navegación, pero con ningún conocimiento de HTML que puedes ser capaz de ir desde aquí.

0
foreach (dict as $key => $value){ 
    echo "<a href='$value'>$key</a>"; 
} 
0

No sé si entiendo la pregunta, pero se puede usar una tabla hash como esto:

<?php 
    $navBar = array( 
     "Home" => "http://www.domain.com/", 
     "Info" => "http://www.domain.com/info/", 
    ); 
     foreach($navBar as $key => $val){ 
     echo "<li>$key => $val<li>"; 
    } 
?> 
1

más rápido

<?php 
foreach($array as $name => $link){ 
    echo '<a href="',$link,'">',$name,'</a>\n'; 
} 
?> 

más fácil de leer y entender, pero más lento

<?php 
foreach($array as $name => $link){ 
    echo "<a href='$link'>$name</a>\n"; 
} 
?> 
+1

por favor no le digan a las personas que hagan micro-optimizaciones que hacen poca diferencia – Andy

+2

No lo hice. Ofrecí dos opciones. Uno es más rápido, el otro es más fácil. Vale la pena saber ambos. – DampeS8N

+0

Sí, aunque probablemente ya no importa más @ DampeS8N, siento que hiciste lo correcto dando ambas opciones. Cuando ingresas en los miles de millones de operaciones, hace una gran diferencia. –

Cuestiones relacionadas