簡體   English   中英

多維數組到html MultiDimensional復選框

[英]Multidimensional Array to html MultiDimensional checkbox

我有一個像這樣的數組:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [0] => a
                            [1] => d
                            [2] => Array(...)
                        )

                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [0] => a
                            [1] => e
                            [2] => Array(...)
                        )

                )

        )

)

我想從這個數組中創建一組嵌套在HTML <li>語句中的復選框。 我已經創建了一個用於嵌套<li>的函數

function nested_li(array $array){
    $output = '<ul>';
    foreach($array as $key => $value){
        $output .= "<li><strong>$key: </strong>\n";
        if(is_array($value)){
            $output .= nested_li($value)."\n";
        }else{
            $output .= $value."\n";
        }
        $output .= '</li>'."\n";
    }
    $output .= '</ul>'."\n";
    return $output;
}

現在麻煩的是在這里創建一個嵌套的復選框列表,例如:

<input type="checkbox" name="check[0][0][0][0]" value="a"/>
<input type="checkbox" name="check[0][0][0][1]" value="d"/>
<input type="checkbox" name="check[1][0][0][0]" value="a"/>
<input type="checkbox" name="check[1][0][0][1]" value="e"/>

我需要為類別系統執行此操作,以選擇要顯示的類別。

希望這可以幫助你:)

使用recursiveiteratoriterator

$arr=array
(
    0 => array
        (
            0 => array
                (
                    0 => array
                        (
                            0 => 'a',
                            1 => 'd',
                            2 => 's' //or Array(...)
                        ),

                ),

        ),

    1 => array
        (
            0 => array
                (
                    0 => array
                        (
                            0 => 'a',
                            1 => 'e',
                            2 => 'l'
                        ),

                ),

        ),

);

$flat = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
foreach($flat as $item) {
  $a[]= $item;
}
foreach($a as $i)
{
    echo '<input type="checkbox" name="'.$i.'" value="a"/>'.$i;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM