#php #arrays #string #codeigniter #foreach
#php #массивы #строка #codeigniter #foreach
Вопрос:
Я хотел бы получить некоторую помощь в преобразовании строки в массив и выполнении foreach для данных массива.
В настоящее время, на мой взгляд, я повторяю свою строку <?php echo $p['tags']; ?>
и это дает мне следующие данные news, latest
Я хотел бы выполнить foreach для этих данных, чтобы я мог обернуть значения в <a href=""></a>
Как это делается? Каков наилучший метод?
Ответ №1:
Разбить их на массив:
<?php
$all_tags = explode( ',' , $p['tags'] );
foreach ( $all_tags as $one_tag ){
echo '<a href="#">' . $one_tag . '</a>';
}
Функция explode() разбивает строку с помощью разделителя (в данном случае запятой ‘,’), и каждый элемент передается в массив.
Ответ №2:
Я не уверен, что правильно понимаю, о чем вы спрашиваете. Это то, что вы хотите?
$var = 'news, lastest';
$tmp = explode(', ', $var);
$result = '<a href="#">'.implode('</a>, <a href="#">', $tmp).'</a>';
var_dump($result);
// string(42) "<a href="#">news</a>, <a href="#">lastest</a>"