Thread Liste von Hashs in einem Array (3 answers)
Opened by jan at 2015-11-04 17:01

Gast jan
 2015-11-04 17:01
#182770 #182770
Hallo!

Bisher hatte ich ein solches Array:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
@mainArray => [
{
'categoryName' => 'Freizeit & Sport',
'categoryUrl' => 'list.cgi?category=12'
},
{
'categoryName' => 'Camping',
'categoryUrl' => 'list.cgi?category=23'
}
];


Das habe ich in einer Schleife, die über eine Liste von Kategorien geht, wie folgt zusammengebaut:

Code: (dl )
1
2
3
4
5
6
7
	
foreach $catId (@catIds) {
push(@mainArray, {
'categoryName' => $catNames{$catId},
'categoryUrl' => "list.cgi?category=" . $catId
})
}



Nun möchte ich aber, dass das @mainArray eine Liste von Hashs beinhaltet: @mainArray = [[%subArray1], [%subArray2], [%subArray...]]

Die Subarrays sollen aussehen, wie oben, nur eben soll es mehrere davon geben:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
%subArray1 = {
'categoryName' => 'Freizeit & Sport',
'categoryUrl' => 'list.cgi?category=12'
},
{
'categoryName' => 'Camping',
'categoryUrl' => 'list.cgi?category=23'
}

%subArray2 = {
'categoryName' => 'Ferien & Reisen',
'categoryUrl' => 'list.cgi?category=15'
},
{
'categoryName' => 'Hotel/Pension',
'categoryUrl' => 'list.cgi?category=22'
}


Ich versuche jetzt in einer Schleife die einzelnen SubArrays zusammenzubauen und die dann in das @mainArray reinzuschreiben:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
		
foreach (...) {
foreach $catId (@catIds) {
push(@subArray, {
'categoryName' => $catNames[$catId},
'categoryUrl' => "list.cgi?category=" . $catId
})
}
push(@mainArray, @subArray)
}


Am Ende habe ich dann aber nur das @mainArray, wo alle subArrays hintereinanderweg geschrieben stehen.
Ich komme nicht dahinter, wie ich das zusammenbauen muss.

Oh je, versteht einer, was ich möchte? :)
Und wenn ja, kann mir bitte jemand einen Denkanstoss geben?

Danke!
Last edited: 2015-11-04 17:45:56 +0100 (CET)

View full thread Liste von Hashs in einem Array