Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php,字符串列表中的嵌套ul/li列表_Php_Html Lists - Fatal编程技术网

php,字符串列表中的嵌套ul/li列表

php,字符串列表中的嵌套ul/li列表,php,html-lists,Php,Html Lists,$items=array('page 1'、'page 2'、'page 3'、'page 4') 第1页 第2页 第3页 第4页 我有一个简单的清单,我想把它列在嵌套的ul/li清单上。如何实现这一点?正常的可以通过以下方法实现: echo "<ul>"; foreach($arr as $kVal){ echo "<li>".$kVal."</li>"; } echo "</ul>"; echo“”; foreach(

$items=array('page 1'、'page 2'、'page 3'、'page 4')

  • 第1页
    • 第2页
      • 第3页
        • 第4页

我有一个简单的清单,我想把它列在嵌套的ul/li清单上。如何实现这一点?

正常的
可以通过以下方法实现:

echo "<ul>";
foreach($arr as $kVal){
echo "<li>".$kVal."</li>";
}
echo "</ul>";
echo“
    ”; foreach($arr作为$kVal){ 回声“
  • ”$kVal。”
  • ”; } 回声“
”;
但在你的场景中

可以这样做:

foreach($arr as $kVal){
  echo "<ul><li>".$k;
}
foreach($arr as$kVal){
回声“
  • ”$k; }
您可以使用函数和递归轻松处理此问题,请参见下面的示例:

$items = array ('page 1', 'page 2', 'page 3', 'page 4');
recursive($items);
function recursive($items)
{
    if (is_array($items) && !empty($items)) {
        echo "<ul><li>";
        foreach ($items as $item) {
            echo array_shift($items);
            recursive($items);
            break;
        }
        echo "</li></ul>";
    }
}
$items=array('page 1'、'page 2'、'page 3'、'page 4');
递归(项目);
函数递归($items)
{
if(is_数组($items)&&!空($items)){
回声“
  • ”; foreach($items作为$item){ 回波阵列_移位($items); 递归(项目); 打破 } 回声“
”; } }

演示:

您确定这就是您想要的吗?您正在为每个项目创建一个元素列表。看起来不对。你希望最后一页是什么样子?
$items = array ('page 1', 'page 2', 'page 3', 'page 4');
recursive($items);
function recursive($items)
{
    if (is_array($items) && !empty($items)) {
        echo "<ul><li>";
        foreach ($items as $item) {
            echo array_shift($items);
            recursive($items);
            break;
        }
        echo "</li></ul>";
    }
}