在UL中包装每个子密钥

I'm wanting to wrap each child array within an <ul>, but I'm not entirely sure how it may be done?

function RecursiveWrite($array) {
    foreach ($array as $v) {

        echo '<li>';

            echo $v['id'];

            if(isset($v['children']))
                RecursiveWrite($v['children']);

        echo '</li>';

    }
}

echo '<ul>';
RecursiveWrite($comments);
echo '</ul>';

Outputs:

    <ul>
        <li>81
            <li>173</li>
            <li>84
                <li>85
                    <li>131
                        <li>176</li>
                    </li>
                </li>
                <li>174</li>
                <li>175</li>
            </li>
        </li>
        <li>178</li>
    </ul>

The output I'm wanting to get:

<ul>
    <li>81
        <ul>
            <li>173</li>
            <li>84
                <ul>
                    <li>85
                        <ul>
                            <li>131
                                <ul>
                                    <li>176</li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li>174</li>
                    <li>175</li>
                </ul>
            </li>
        </ul>
    </li>
    <li>178</li>
</ul>

Original array:

array (
  0 => 
  array (
    'id' => '81',
    'parent' => NULL,
    'children' => 
    array (
      0 => 
      array (
        'id' => '173',
        'parent' => '81',
      ),
      1 => 
      array (
        'id' => '84',
        'parent' => '81',
        'children' => 
        array (
          0 => 
          array (
            'id' => '85',
            'parent' => '84',
            'children' => 
            array (
              0 => 
              array (
                'id' => '131',
                'parent' => '85',
                'children' => 
                array (
                  0 => 
                  array (
                    'id' => '176',
                    'parent' => '131',
                  ),
                ),
              ),
            ),
          ),
          1 => 
          array (
            'id' => '174',
            'parent' => '84',
          ),
          2 => 
          array (
            'id' => '175',
            'parent' => '84',
          ),
        ),
      ),
    ),
  ),
  1 => 
  array (
    'id' => '178',
    'parent' => NULL,
  ),
)

It looks like you just need to echo out the <ul> tags before and after your foreach loop.

Simple as...

function RecursiveWrite($array) {
    echo "<ul>";
    foreach ($array as $v) {
        ...
    }
    echo "</ul>";
}

RecursiveWrite($comments);