Подтвердить что ты не робот

PHP получает как значение массива, так и массив

Я хочу запустить цикл for через массив и создать элементы привязки для каждого элемента в массиве, где ключ является текстовой частью, а значение - URL.

Как я могу это сделать?

Спасибо.

4b9b3361

Ответ 1

Это должно сделать это

foreach($yourArray as $key => $value) {
    //do something with your $key and $value;
    echo '<a href="' . $value . '">' . $key . '</a>';
}

Изменить: согласно комментарию Капсулы - изменено на одинарные кавычки.

Ответ 2

Для некоторых конкретных целей вам может понадобиться узнать текущий ключ вашего массива без перехода в цикл. В этом случае вы можете сделать следующее:

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

Ответ 3

Вот так:

$array = array(
    'Google' => 'http://google.com',
    'Facebook' => 'http://facebook.com'
);

foreach($array as $title => $url){
    echo '<a href="' . $url . '">' . $title . '</a>';
}

Ответ 4

В контексте шаблона это будет:

<?php foreach($array as $text => $url): ?>
    <a href="<?php echo $url; ?>"><?php echo $text; ?></a>
<?php endforeach; ?>

Вы не должны писать свой HTML-код внутри своего PHP-кода, поэтому избегайте повторять букву HTML.

Это не фильтрует ничего, я надеюсь, что ваш массив чист, -)