Я хочу запустить цикл for через массив и создать элементы привязки для каждого элемента массива, где ключ является текстовой частью, а значение – URL.
Как я могу это сделать, пожалуйста?
Спасибо.
Это должно сделать это
foreach($yourArray as $key => $value) { //do something with your $key and $value; echo '<a href="' . $value . '">' . $key . '</a>'; }
Изменить: согласно комментарию Капсулы – изменено на одинарные кавычки.
Для некоторых конкретных целей вам может понадобиться узнать текущий ключ вашего массива без перехода в цикл. В этом случае вы можете сделать следующее:
reset($array); echo key($array) . ' = ' . current($array);
В приведенном выше примере будет отображаться ключ и значение первой записи вашего массива.
Следующие функции не очень хорошо известны, но могут быть весьма полезными в особых случаях:
key($array); //Returns current key reset($array); //Moves array pointer to first record current($array); //Returns current value next($array); //Moves array pointer to next record and returns its value prev($array); //Moves array pointer to previous record and returns its value end($array); //Moves array pointer to last record and returns its value
Как это:
$array = array( 'Google' => 'http://google.com', 'Facebook' => 'http://facebook.com' ); foreach($array as $title => $url){ echo '<a href="' . $url . '">' . $title . '</a>'; }
В контексте шаблона это будет:
<?php foreach($array as $text => $url): ?> <a href="<?php echo $url; ?>"><?php echo $text; ?></a> <?php endforeach; ?>
Вы не должны писать свой HTML-код внутри своего PHP-кода, поэтому избегайте повторения HTML-кода.
Это не фильтрует ничего, я надеюсь, что ваш массив чист 😉