我有一个逗号分隔的字符串,其中包含标签列表,想要将其转换为数组以获取每个标签的链接。
例如:
我有这个函数,其中$arg='html,css,php,mysql,javascript':
例如:
$string = 'html,css,php,mysql,javascript';
我想把它做成这样:
<a href="tag/html">html</a>, <a href="tag/css">css</a>, <a href="tag/php">php</a>, <a href="tag/mysql">mysql</a>, <a href="tag/javascript">javascript</a>
所以结果将是一个包含逗号分隔的链接字符串,每个链接后面有一个空格,并且最后一个链接后面没有逗号。我有这个函数,其中$arg='html,css,php,mysql,javascript':
function info_get_tags( $arg ) {
global $u;
$tagss = '';
if ( $arg == '' ) {
return '';
} else {
$tags_arr = explode( ',' , $arg );
foreach ( $tags_arr as $tag ) {
$tags = '<a href="' . $u . 'tag/' . $tag . '/" title="' . $tag . '">' . $tag . '</a>';
$tagss .= $tags;
}
return $tagss;
}
}
这个脚本对我有效,但如果我们在这里添加逗号和空格:
$tags = '<a href="' . $u . 'tag/' . $tag . '/">' . $tag . '</a>, ';
我们会得到逗号和空格,但最后一个链接后面会有一个尾随逗号。
&
表示你通过引用进行迭代。这样,你可以修改$tag
,并且$tags
数组中的元素也会被修改。 - NikiCforeach
循环内部使用unset
来取消引用刚刚被引用的变量:foreach ( $a as &$b ) { ... unset($b); }
这是PHP.net上的一种非常好的实践。 - Rudie