我需要帮助来解决这个问题。我在php上,我有一个数组树
Array
(
[14|Erboristeria e Salute] => Array
(
[15] => Mal di gola e Cavo orale
[16] => Tosse e vie respiratorie
[17] => Naso irritato
[18] => Digestione e Gonfiore addominale
[19] => Emorroidi
[20] => Riposo notturno
[21] => Tono ed Energia
[22] => Controllo del peso
[23] => Benessere delle Gambe e Cellulite
[24] => Depurazione
[25] => Pomate
[37] => Dolori muscolari e Mal di testa
[53] => Igiene orale
[55] => Monoconcentrati
[58] => Stomaco e Intestino
[60] => Menopausa
[65] => Occhi irritati
[66] => Difese dell'organismo
[84] => Caramelle
[87] => Colesterolo e funzionalità cardiovascolare
[88] => Tisane
[127] => Succhi Attivi 100%
[130] => Cistite
[131] => Candida
)
[154|Prodotti per la casa] => Array
(
[38|Profumatori d'ambiente] => Array
(
[40] => Essenze naturali
[44] => Puri oli essenziali
[45] => Diffusori con bastoncini Nasoterapia
[85] => Profumatori Spray
[105] => Brucia essenze
[118] => Lampade catalitiche e ricariche
[133] => Buste profumate
[142] => Diffusori ultrasuoni
[149] => Ricariche diffusori con bastoncini
[150] => Diffusori in ceramica
[152] => Profumatori per auto
[153] => Profumatori L'Amande
)
[68] => Candele per ambiente
[109] => Candele Cilindriche
[123] => Prodotti naturali anti zanzare
[132] => Prodotti per la cura del cane
[181] => Idee regalo
)
[155|Cosmesi e Igiene] => Array
(
[6|Cura del viso] => Array
(
[54] => Aspersina Pharmalife - Bava di lumaca
[57|Linee Innoxa] => Array
(
[165] => Per pulire e stimolare
[166] => Linea idratazione giorno
[167] => Linea Autentica - rigenerante anti radicale
[168] => Super nutrimento con RNA e Omega3
[169] => Linea 41- pelle grassa, impura, acneica
[170] => Linea Couprosil - pelle sensibile e couperose
[171] => PG 33 - trattamento anti rughe
[172] => Linea Collagene - ritarda invecchiamento
[173] => Linea Naga - con sericina effetto tensore
[175] => Trattamenti intensivi rigeneranti
)
[61] => Contorno occhi
[63] => Pulizia Viso
[75] => Linea Olio Argan
[101] => Egasi Visage Amerigo
[102] => L'Amande Viso
[116] => Hyaluronic Bio Amerigo
[146] => Linea Activo 3 Oficine Cleman
[176] => Goji Bio Amerigo
[177] => Prodotti Flora Pisa
[178] => Viso Oficine Cleman
[179] => Acido Jaluronico
)
[7|Cura dei Capelli] => Array
(
[82] => Capelli con forfora
[98] => Capelli normali
[99] => Trattamenti capelli
[100] => Pediculosi
[134] => Capelli lisci
[135] => Capelli ricci e mossi
[136] => Capelli colorati
[137] => Capelli secchi e sfibrati
[138] => Capelli delicati e lavaggi frequenti
[139] => Capelli grassi e pesanti
[140] => Anti caduta capelli
[143] => Balsamo
[144] => Gel per capelli
)
[8|Cura del corpo] => Array
(
[29] => Igiene Intima
[30] => Cellulite e Tono Muscolare
[32] => Acque Profumate
[33|Creme corpo] => Array
(
[156] => Creme Corpo L'Amande
[157] => Creme Corpo Amerigo
[158] => Creme Corpo Speziali Fiorentini
[159] => Creme Corpo Oficine Cleman
[161] => Creme Corpo Flora Pisa
[162] => Creme Corpo Innoxa
[187] => Creme Dr Organic
)
[34] => Deodoranti
[36] => Oli vegetali corpo
[43] => Scrub
[77] => Prodotti per Ceretta
[160] => Oli profumati per il corpo
)
[9] => Prodotti per l'uomo
[10|Solari] => Array
(
[78] => Solari Innoxa
[79] => Solari L'Amande
[103] => Solari Amerigo
[180] => Solari Oficine Cleman
)
[11] => Saponi vegetali e Detergenti liquidi
[12|Prodotti per il bagno] => Array
(
[96] => Bagnoschiuma
)
[13|Cura delle mani] => Array
(
[62] => Cura e Igiene Mani
[104] => Crema per le mani
)
[26|Profumi] => Array
(
[125] => Eau de Parfum
)
[27] => Prodotti per i bambini
[28] => Cura dei piedi
[49|Trucchi e Make Up] => Array
(
[50] => Rossetti Hydrating
[51] => Fondotinta
[52] => Ombretti
[81] => Smalti Innoxa
[92] => Lucida Labbra
[93] => Rossetto Fluido
[95] => Rosso Labbra Soft Touche
[117] => Mascara
[121] => Fard
[141] => Creme colorate viso
[186] => Rossetti Color Lip finish luxury Mat
)
[59|Tinture per capelli] => Array
(
[128] => Naturidea
[147] => Henne in polvere
[184] => Mascara Henne
)
[76] => L'Amande Eco Bio
[83] => Candele da massaggio
[94] => Stick Labbra
[182] => Sapone Marino Naclean
)
)我需要用分层系统将这个数组插入到db中。例如,14\Erboristeria有1级,Mal di gola e Cavo orale有2级
同样的,154\Prodotti每la casa有1级,38\Profumatori d'ambiente有2级,Essenze naturali有级别3......then Candele (每种环境有2级)!
我怎么能这么做?我写了这个函数,它可以工作,但我不知道如何设置水平!
function readDeep($nodo)
{
foreach ($nodo as $k=>$v)
{
if (is_array($v))
{
echo "<div style='border:1px solid red; margin-bottom:2em'>";
echo "<b>".$k." </b>";
echo "<br />";
readDeep($v);
echo "</div>";
}
else
{
echo $v;
echo "<br />";
}
}
}谢谢
发布于 2018-07-07 16:21:58
您需要将该级别传递给函数,您可以将其默认为第一个级别,然后在执行递归时将值传回。所以定义变成..。
function readDeep($nodo, $level = 1)然后递归变成..。
readDeep($v, $level+1);发布于 2018-07-07 16:23:03
您可以简单地向表示级别的递归函数中添加一个额外的参数。当您第一次调用它时,传入0(或1,根据口味),然后在调用它时,递归地添加一个:
function readDeep($nodo, $level=0) {
// ...
readDeep($v, $level+1);
// ...
}https://stackoverflow.com/questions/51224848
复制相似问题