Är inte linux en billig kopia av ms-dos?
Php arrays
Visa signatur
@akn3: Om du bara vill skriva ut månadsnamnen för de månader som tillhör respektive år så räcker det att loopa över listorna:
$monthName = [
1 => "januari",
2 => "februari",
3 => "mars",
4 => "april",
5 => "maj",
6 => "juni",
7 => "juli",
8 => "augusti",
9 => "september",
10 => "oktober",
11 => "november",
12 => "december",
];
$monthsForYear = [
2013 => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
2014 => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
2015 => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
2016 => [4, 5],
];
$yearsToPrint = [2013, 2014, 2015, 2016];
foreach($yearsToPrint as $yearNum)
{
printf("<b>Year: %d</b><br/>", $yearNum);
foreach($monthsForYear[$yearNum] as $monthNum)
{
printf("Month: %s<br/>", $monthName[$monthNum]);
}
print "<br/>";
}
Exempel
Year: 2013
Month: januari
Month: februari
Month: mars
Month: april
Month: maj
Month: juni
Month: juli
Month: augusti
Month: september
Month: oktober
Month: november
Month: december
Year: 2014
Month: januari
Month: februari
Month: mars
Month: april
Month: maj
Month: juni
Month: juli
Month: augusti
Month: september
Month: oktober
Month: november
Month: december
Year: 2015
Month: januari
Month: februari
Month: mars
Month: april
Month: maj
Month: juni
Month: juli
Month: augusti
Month: september
Month: oktober
Year: 2016
Month: april
Month: maj
Resultat
Du behöver inte skapa någon temporär stdClass, och ska den inte vara temporär så kanske det ändå är att bättre alternativ att använda en array / map eller en typ med ett bättre definierat interface.
Uppdaterade även arraydeklarationerna till [ ... ]
istället för den äldre array( ... )
-syntaxen. Du kan använda det nyare, kortare formatet sedan 5.4.
Sedan är PHP väldigt förlåtande med att hantera varierande datatyper, och man kan argumentera för att det här inte spelar någon större roll, men i $years1
är månadsnumrena deklarerade som strängar och i $months
är de deklarade som heltal, medans motsvarande information i $years
återigen är strängar. Det blir lättare att arbeta med koden, och man kan undvika många misstag, om man är konsekvent med typerna.
Visa signatur
Abstractions all the way down.
Citera flera
Citera
(2)
Hårdvara
- Idag Iphones marknadsandel faller i USA 31
- Igår Airtec Pro Type1 – batteridrivet alternativ till tryckluft på burk 62
- Igår Nu stiger hårddiskpriserna med uppemot 10 procent 21
- Igår Analytiker: Apple har överskattat intresset för Vision Pro 52
- 24 / 4 AMD, Nvidia och Intel – vad är det för skillnad mellan grafikkortstillverkarna? 35
Mjukvara
Datorkomponenter
Ljud, bild och kommunikation
- Ingen som är taggad på att se nya Dune?, Bioprimär idag 15 sep169
- IT-bolag: Teknikstrul är största tidsboven idag15
- Vad har ni i lön?12995
- Ubiquiti Unifi2762
- Microsoft blockerar äldre processorer i Windows 11 24H259
- Valve täpper till kryphål i Steam-återbetalningar21
- Dagens fynd — Diskussionstråden49497
- Tips på grafikkort9
- MC - förstahoj, körkort och utrustning [Samlingstråd]3046
- Söker PUBG spelare!0
- Säljes Meta Quest 3 128GB
- Säljes Hårddiskar
- Säljes Finalmouse ULX Lion
- Säljes Gigabyte M28U intressekoll
- Säljes BitFenix Dawn Tempererat Glas
- Säljes Kingston PCie 4.0 NVMe M.2 4TB 7300MB/s
- Säljes i3-8100
- Köpes Luftkylning och Fläktar
- Köpes Nvidia Quadro P400,600 eller 620
- Säljes Dell Latitude 7530 15,6”
- IT-bolag: Teknikstrul är största tidsboven idag15
- Därför blockerar Windows 11 24H2 Start‑menyhack27
- Iphones marknadsandel faller i USA31
- Konsumentverket granskar tio nätbutiker som lurat kunder17
- Airtec Pro Type1 – batteridrivet alternativ till tryckluft på burk62
- Nintendo-innehåll tas bort från Garrys Mod24
- Nu stiger hårddiskpriserna med uppemot 10 procent21
- Quiz: Vad kan du om Inet?70
- Analytiker: Apple har överskattat intresset för Vision Pro52
- Microsoft rullar ut Startmenyreklam till alla80