我一直在尝试将此显示作为html列表项目,它只是一个字符串,我爆炸然后循环每个项目我不能得到它正确输出。有人可以告诉我哪里出错或建议新的approch。 这是我尝试过的
$path = "1/2/3/4";
$expath = explode("/",$path);
$ret = '';
echo '<ul>';
foreach ($expath as $pitem) {
echo '<li><a href='.$ret .= $pitem. "/".'>'.$pitem.'</a></li>';
}
echo '</ul>';
希望摆脱hrefs
1
1/2
1/2/3
1/2/3/4
渴望视觉出来的LIs
输出我得到警告
答案 0 :(得分:1)
$path = "1/2/3/4";
$expath = explode("/", $path);
echo '<ul>';
foreach ($expath as $i => $pitem) {
$slice = array_slice($expath, 0, $i + 1);
$path = implode('/', $slice);
echo '<li><a href="' . $path . '">' . $pitem . '</a></li>';
}
echo '</ul>';
答案 1 :(得分:0)
因为你的$ret
。把它放在循环内。在您的代码中,您将$pitem
与$ret
连接起来,所有较旧的$ret
值也会得到concat。
尝试
<?php
$path = "1/2/3/4";
$expath = explode("/",$path);
echo '<ul>';
foreach ($expath as $pitem) {
$ret = '';
echo '<li><a href='.$ret .= $pitem. "/".'>'.$pitem.'</a></li>';
}
echo '</ul>';
如果您希望在网址中显示=
个符号,则只需按照
echo
即可
echo "<li><a href='$ret=$pitem/'>$pitem</a></li>";
带有echo
的PHP double quotes
将打印变量值。
答案 2 :(得分:0)
$list = explode("/", "1/2/3/4");
这将创建一个数组$ list:
echo $list[0]; // 1
echo $list[1]; // 2
echo $list[2]; // 3
echo $list[3]; // 4
答案 3 :(得分:0)
这一行是问题所在:echo '<li><a href='.$ret .= $pitem. "/".'>'.$pitem.'</a></li>';
格式应为:
echo "<li><a href='{$ret}={$pitem}/'>{$pitem}</a></li>";
或echo '<li><a href="'.$ret.'='.$pitem.'/">'.$pitem.'</a></li>';