Thinkphpvolist多重循環(huán)原樣輸出數(shù)組key值的示例-創(chuàng)新互聯(lián)

這篇文章主要介紹了Thinkphp volist多重循環(huán)原樣輸出數(shù)組key值的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、寧化網(wǎng)絡(luò)推廣、小程序開發(fā)、寧化網(wǎng)絡(luò)營銷、寧化企業(yè)策劃、寧化品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供寧化建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

最近因?yàn)轫?xiàng)目的緣故,要使用到volist。在這個(gè)過程中,遇到了一些小問題,主要就是volist在循環(huán)輸出多重?cái)?shù)據(jù)的時(shí)候,如何輸出key。網(wǎng)上查閱了不少資料,很失望的是,大多資料就是粘貼復(fù)制Thinkphp手冊上volist標(biāo)簽的說明。為了幫助其他人,故決定寫下這篇文章。( 在這里,使用的框架是Thinkphp3.2,其它的相關(guān)知識,是php數(shù)組)。首先貼出控制器里面代碼:

public function check()
{
    $multiArr = [['a' => ['num' => '1',], 'b' => ['num' => '2',]], ['c' => ['num' => '3',], 'd' => ['num' => '4',]]];
    $this->assign('list', $multiArr);
    $this->display();
}

打印出來的格式如下:

Array
(
    [0] => Array
        (
            [a] => Array
                (
                    [num] => 1
                )
            [b] => Array
                (
                    [num] => 2
                )
        )
    [1] => Array
        (
            [c] => Array
                (
                    [num] => 3
                )
            [d] => Array
                (
                    [num] => 4
                )
        )
)

很明顯,這是一個(gè)多重?cái)?shù)組。如果想得到他們的key值,如果使用volist,代碼如下:

<tr>
<volist name="list" id="data" key="k">
<td>{$k}</td>
<td>
<tr>
<volist name="data" id="vo">
<td>{$key}</td>
<td>{$vo.num}</td>
</volist>
</tr>
</td>
</volist>
</tr>

得到的結(jié)果如下:

1
a   1   b   2
2
c   3   d   4

在這里,很明顯,外重的循環(huán)的key值是系統(tǒng)默認(rèn)的,而里面的這一重循環(huán)出來的key值是由數(shù)據(jù)本身決定的而不是由循環(huán)控制的。

http://document.thinkphp.cn/manual_3_2.html#volist

在Thinkphp手冊里面,這個(gè)說的很清楚。如果到這里,沒其他的要求的話,其實(shí)可以滿足大多數(shù)輸出key值的要求了。但是如果數(shù)組改成下面的格式:

$multiArr = [
            'aaa' => [
                'a' => [
                    'num' => '1',
                ],
                'b' => [
                    'num' => '2',
                ]
            ],
            'bbb' => [
                'c' => [
                    'num' => '3',
                ],
                'd' => [
                    'num' => '4',
                ]
            ]
        ];

并且此時(shí),外重循環(huán)出的key值和內(nèi)層循環(huán)出的key值均由數(shù)據(jù)本身決定,而不是循環(huán)控制的,那該怎么處理呢?好吧,當(dāng)時(shí)走入誤區(qū)了,一直想用兩個(gè)volist進(jìn)行循環(huán),然后輸出key值(它由數(shù)據(jù)本身決定),但是嘗試了好久,發(fā)現(xiàn)還是不行。查閱了不少的資料,發(fā)現(xiàn)好多都沒有講到這個(gè)問題。謀殺了無數(shù)腦細(xì)胞,看著代碼,突然想到,foreach也可以進(jìn)行這種循環(huán)操作,為啥不嘗試用這個(gè)標(biāo)簽?zāi)??或者把這兩個(gè)標(biāo)簽結(jié)合起來使用呢?頓時(shí),豁然開朗。于是,把前端的代碼改成如下:

 <tr>
        <foreach name="list" item="data" key="i">
            <td>{$i}</td>
            <td>
            <tr>
                <volist name="data" id="vo" key="k">
                    <td>{$key}</td>
                    <td>{$vo.num}</td>
                </volist>
            </tr>
            </td>
        </foreach>
    </tr>

得到的結(jié)果如下:

aaa
a   1   b   2
bbb
c   3   d   4

滿足了上面的要求??偨Y(jié)如下:

在thinkphp中,用volist標(biāo)簽進(jìn)行多重?cái)?shù)組循環(huán)輸出的時(shí)候,若想輸出由數(shù)據(jù)控制的key值,而不是默認(rèn)的,可以把foreach標(biāo)簽和volist標(biāo)簽結(jié)合起來使用,就能原樣輸出key值了。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Thinkphp volist多重循環(huán)原樣輸出數(shù)組key值的示例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

分享題目:Thinkphpvolist多重循環(huán)原樣輸出數(shù)組key值的示例-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://muchs.cn/article0/degeoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、微信小程序、網(wǎng)站排名小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)