我如何显示 php 数组中的列表项

How do i display list items from php array

我一直在尝试将此显示为 html 列表项目,它只是一个字符串,我展开然后循环遍历每个项目,我无法正确输出它。有人可以告诉我哪里出了问题或建议一种新方法吗? 这是我试过的

$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

所需的视觉输出 LI

我收到警告的输出

这是因为你的$ret。把它放在循环中。在您的代码中,您将 $pitem$ret 连接起来,所有旧的 $ret 值也会得到连接。

尝试

<?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>';

如果您希望 = 符号出现在 url 中,那么只需按照

更改 echo
 echo "<li><a href='$ret=$pitem/'>$pitem</a></li>";

PHP echodouble quotes 将打印变量值。

$list = explode("/", "1/2/3/4");

这将创建一个数组 $list 为:

echo $list[0]; // 1
echo $list[1]; // 2
echo $list[2]; // 3
echo $list[3]; // 4

这一行是问题所在: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>';

$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>';