這篇文章主要介紹了Thinkphp volist多重循環(huán)原樣輸出數(shù)組key值的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
目前成都創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、六安網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
最近因?yàn)轫?xiàng)目的緣故,要使用到volist。在這個(gè)過程中,遇到了一些小問題,主要就是volist在循環(huán)輸出多重?cái)?shù)據(jù)的時(shí)候,如何輸出key。網(wǎng)上查閱了不少資料,很失望的是,大多資料就是粘貼復(fù)制Thinkphp手冊(cè)上volist標(biāo)簽的說明。為了幫助其他人,故決定寫下這篇文章。( 在這里,使用的框架是Thinkphp3.2,其它的相關(guān)知識(shí),是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手冊(cè)里面,這個(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值的示例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
文章標(biāo)題:Thinkphpvolist多重循環(huán)原樣輸出數(shù)組key值的示例
文章網(wǎng)址:http://www.rwnh.cn/article8/gopcop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、做網(wǎng)站、App設(shè)計(jì)、定制開發(fā)、域名注冊(cè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)