這篇文章給大家分享的是有關(guān)PHP如何重置多維數(shù)組的索引的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比株洲網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式株洲網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋株洲地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
首先我們知道,一維數(shù)組想要重置索引,非常簡(jiǎn)單,直接利用array_values($array)
函數(shù)就行。
array_values()函數(shù)的作用是返回?cái)?shù)組中所有元素的值,使用起來(lái)非常簡(jiǎn)單,只有一個(gè)必選參數(shù)$array
,就可以返回一個(gè)包含給定數(shù)組中所有值的數(shù)組,但不保留鍵名。被返回的數(shù)組將使用索引數(shù)組的形式,數(shù)組的索引從 0 開始且以 1 遞增。
我們可以利用array_values()函數(shù)將元素下標(biāo)混亂的數(shù)組重新理順,即索引從 0 開始且以 1 遞增;該函數(shù)不僅可以用于索引數(shù)組,也可用于關(guān)聯(lián)數(shù)組,能將關(guān)聯(lián)數(shù)組轉(zhuǎn)化為索引數(shù)組。
而重置多維數(shù)組的索引,也需要利用到這個(gè)array_values()函數(shù)。下面我們直接給出實(shí)現(xiàn)方法:
function reform_keys($array){ if(!is_array($array)){ return $array; } $keys = implode('', array_keys($array)); if(is_numeric($keys)){ $array = array_values($array); } $array = array_map('reform_keys', $array); return $array; };
測(cè)試一下,有下面一個(gè)多維數(shù)組
$post = [ 0 => [ 'title' => 'xxx聯(lián)票', 'price' => 368.00, 'items' => [ '33' => [ 'scenic_id' => 33, 'products' => [ 'goods_id' => 13 ] ], '1500' => [ 'scenic_id' => 1500, 'products' => [ 'goods_id' => 57 ] ], ], 'tickets' => 9 ], 10 => [ 'title' => 'zzz聯(lián)票', 'price' => 500.00, 'items' => [ '157' => [ 'scenic_id' => 157, 'products' => [ 'goods_id' => 77 ], 'attr' => [ '50' => [ 'item' => '午場(chǎng)' ], '55' => [ 'item' => '可退' ] ] ], '19' => [ 'scenic_id' => 19, 'products' => [ 'goods_id' => 87 ] ] ], 'tickets' => 3 ], ];
調(diào)用reform_keys()函數(shù)重置$post數(shù)組的索引,并輸出重置后的數(shù)組:
$list = reform_keys($post); var_dump($list);
輸出結(jié)果為:
可以看出,多維數(shù)組$post里面所有層級(jí)的索引都被重置,從0開始計(jì)數(shù)了!
下面給大家介紹一下里面用的函數(shù):
array_keys($array)
:獲取$array數(shù)組中所有鍵名;
$keys=implode('', array_keys($array))
:將鍵名數(shù)組中的元素拼接在一起,返回一個(gè)字符串$keys
。
is_numeric($keys)
:檢測(cè)變量$keys是否為數(shù)字或數(shù)字字符串。
array_values($array)
:獲取全部數(shù)值,即重置索引;
array_map('reform_keys', $array)
:為$array數(shù)組的每個(gè)元素應(yīng)用回調(diào)函數(shù)reform_keys()。
array_map() 返回一個(gè) array,數(shù)組內(nèi)容為 array1 的元素按索引順序?yàn)閰?shù)調(diào)用 callback 后的結(jié)果(有更多數(shù)組時(shí),還會(huì)傳入 arrays 的元素)。 callback 函數(shù)形參的數(shù)量必須匹配 array_map() 實(shí)參中數(shù)組的數(shù)量。
感謝各位的閱讀!關(guān)于“PHP如何重置多維數(shù)組的索引”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前名稱:PHP如何重置多維數(shù)組的索引
文章地址:http://jinyejixie.com/article20/posijo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、定制網(wǎng)站、網(wǎng)站建設(shè)、用戶體驗(yàn)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站收錄
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)