PHP vraagje ivm arrays

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

Momenteel heb ik volgende code;

Code: Selecteer alles

$x = array();
$x["key1"] = value1;
$x["key2"] = value2;
foreach ($x as $key=>$value) {
}
... echter in plaats van een single value wil ik hier meerdere dingen (value, title, kleur, ...).

Iemand een voorbeeldje ?

Al heb ik het zelf al gevonden...

Code: Selecteer alles

$x = array();
$x["key1"][0] = value1;
$x["key1"][1] = value1b;
$x["key2"][0] = value2;
$x["key2"][1] = value2b;
foreach ($x as $key=>$value) {
... $key en $value[0 of 1]
}
... tenzij er een elegantere methode is. Het zou "mooier" zijn moest ik in de foreach loop de values kunnen toekennen aan aparte veldnamen.
Laatst gewijzigd door ubremoved_539 22 jul 2018, 17:33, in totaal 1 gewijzigd.
Gebruikersavatar
7zp
Plus Member
Plus Member
Berichten: 104
Lid geworden op: 01 jul 2008, 00:49
Uitgedeelde bedankjes: 7 keer
Bedankt: 8 keer

Er zijn verschillende manieren om dit te doen, je kan oftewel multidimensionale arrays gebruiken

Code: Selecteer alles

$array["key1"]["value"] = "iets";
$array["key1"]["color"] = "red";
$array["key1"]["tittel"] = "header";

foreach ($array as $key=>$value) {
	// $value["color"]
}
Of arrays van arrays

Code: Selecteer alles

$array[] = array("value"=>"iets", "color"=>"red", "tittel"="header");

Maar als je er van uitgaat dat je 'meerdere dingen' altijd het zelfde zijn, is het best om een class te schrijven, en de objecten in een array te steken.

Code: Selecteer alles

class Dingen {
	public $value;
	public $color;
	public $title;
}

$ding1 = new Dingen();
$ding1->value="iets";
//.....

$dingenArray[] = $ding

foreach($dingenArray as $index=>$object) {
	//$object->value 
}
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 434 keer
Bedankt: 1972 keer

Thanks... je eerste is wat ik net zelf al had gevonden maar een string al index waarde gebruiken maakt het beter leesbaar.
Plaats reactie

Terug naar “Development”