Arrays
Dit artikel kan je beschouwen als een volledige handleiding voor arrays. Alles is uitgelegd op een zo eenvoudige mogelijke wijze. Aan het einde van de handleiding zit een lijst met veelgebruikte functies i.v.m. arrays.
Gesponsorde koppelingen
Inhoudsopgave
- Inleiding
- Controlestructuren met arrays
- Associatieve arrays koppelen met foreach
- Meerdimensionale of Multidimensionele arrays
- Arrays resetten / wijzigen / toevoegen
- Allerlei functies met arrays (uitgebreid)
27 reacties op 'Arrays'
Gesponsorde koppelingen
ik ben bezig met het afwerken van de laatste pagina van deze tut, nog eff geduld aub.
vriendelijke groeten,
Thomas Verbeke
Edit:Dus geen reacties plaatsen van dat de tutorial nog niet af is.. ;) tnx!
Edit:
Okay, de tutorial is af maar ik zal later op de avond nog wat array functies toevoegen met voorbeelden en uitleg. Ik hoop dat ik voor de rest volledig was. Als er belangerijke dingen zijn die ik zou zijn vergeten; mail me dan even via phphulo of stuur me een pm.
Ff een opmerking:
Dus: ^^
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$array = array (1 => thomas, 2 => david); // Moet je ff tussen quotes zetten
// array_unshift
$array_unshift($array, 'vincent'); // $ moet weh
// array_push
?>
$array = array (1 => thomas, 2 => david); // Moet je ff tussen quotes zetten
// array_unshift
$array_unshift($array, 'vincent'); // $ moet weh
// array_push
?>
Dus: ^^
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$array = array (1 => 'thomas', 2 => 'david');
// array_unshift
array_unshift($array, 'vincent'); // $ moet weh
// array_push
?>
$array = array (1 => 'thomas', 2 => 'david');
// array_unshift
array_unshift($array, 'vincent'); // $ moet weh
// array_push
?>
@Lapidi: bij jouw staat :
moet dat niet zijn:
@Han: ahrr..ik was dit stuk aan het maken/bewerken toen je er naar keek ik was de toevoegen vergeten en heb hem er daarom nu bijgestoken voor toevoegen op begin. Als je nu kijkt werkt het perfect zonder uw aanpassingen...:p
de quotes was wel een fout die er al een tijdje stond maar ze hadden bij mij geen enkel effect op de output, natuurlijk begrijp ik wel dat dit normaal gezien wel moet...
moet dat niet zijn:
@Han: ahrr..ik was dit stuk aan het maken/bewerken toen je er naar keek ik was de toevoegen vergeten en heb hem er daarom nu bijgestoken voor toevoegen op begin. Als je nu kijkt werkt het perfect zonder uw aanpassingen...:p
de quotes was wel een fout die er al een tijdje stond maar ze hadden bij mij geen enkel effect op de output, natuurlijk begrijp ik wel dat dit normaal gezien wel moet...
Op pagina 4 gebruik je de volgende constructie:
echo $user_db[id_1]["naam"]
Dit wordt niet aanbevolen. De index "id_1" is een string en hoort dus in een string context te worden geplaatst. Oftewel: quotes er omheen. Zonder de quotes denkt PHP dat je hier refereert naar een constant. In dit geval bestaat de constant (gelukkig) niet, dus zal PHP id_1 als een string beschouwen.
Waarom dit link is, zul je zien als je bovenin je script de volgende regel zet:
define("id_1", "id_2");
En verhip, Thomas heet opeens David ;-) Als je de array indices netjes tussen quotes zet, zal dat niet gebeuren.
echo $user_db[id_1]["naam"]
Dit wordt niet aanbevolen. De index "id_1" is een string en hoort dus in een string context te worden geplaatst. Oftewel: quotes er omheen. Zonder de quotes denkt PHP dat je hier refereert naar een constant. In dit geval bestaat de constant (gelukkig) niet, dus zal PHP id_1 als een string beschouwen.
Waarom dit link is, zul je zien als je bovenin je script de volgende regel zet:
define("id_1", "id_2");
En verhip, Thomas heet opeens David ;-) Als je de array indices netjes tussen quotes zet, zal dat niet gebeuren.
Op pagina 5 schrijf je het volgende:
unset($array);
en
$array = '';
Het verschil is dat na een unset() de array niet meer bestaat, en na het "leegmaken' nog wel. hier loop je tegenaan als je met isset($array) aan de slag gaat.
Quote:
Hier ben ik het niet noodzakelijkerwijs mee eens. Er zit namelijk een subtiel verschil tussen:Een andere manier voor het verwijderen van een array is door hem gelijk te stellen aan niets.
unset($array);
en
$array = '';
Het verschil is dat na een unset() de array niet meer bestaat, en na het "leegmaken' nog wel. hier loop je tegenaan als je met isset($array) aan de slag gaat.
Wanneer je HTML begint in je voorbeelden gebruik je een komma. Kun je hier geen 'punt' van maken? Ik had er namelijk nog nooit van gehoord en ze kunnen beter hetgeen leren wat hedendaags gebruikt wordt..
Verder heb je in je inleiding een voorbeeld van een niet geindexeerde array. Kun je daar niet beter de key '0' van maken ipv 1? Het is een voorbeeld voor een niet geindexeerde array. Wanneer je dit doet krijgt hij de key 0 en niet 1. Wanneer je dit verandert voorkom je onduidelijkheid..
Het gaat hier om:
Ook zou ik de eerste reactie van Mitch nog even doen.. Dat is de keys in de arrays die nummeriek zijn zonder quotes doen: $array['1'] -> $array[1].. Dit doe je wel maar lang niet overal.
Verder heb je in je inleiding een voorbeeld van een niet geindexeerde array. Kun je daar niet beter de key '0' van maken ipv 1? Het is een voorbeeld voor een niet geindexeerde array. Wanneer je dit doet krijgt hij de key 0 en niet 1. Wanneer je dit verandert voorkom je onduidelijkheid..
Het gaat hier om:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// $user[1] kan evengoed $array[1] heten.
$user[1] = "Dit is een array";
// of
$user[] = 'Dit is ook een array zonder index';
//===========//
// NIEUW //
//===========//
// $user[0] kan evengoed $array[0] heten.
$user[0] = "Dit is een array";
// of
$user[] = 'Dit is ook een array zonder index';
?>
// $user[1] kan evengoed $array[1] heten.
$user[1] = "Dit is een array";
// of
$user[] = 'Dit is ook een array zonder index';
//===========//
// NIEUW //
//===========//
// $user[0] kan evengoed $array[0] heten.
$user[0] = "Dit is een array";
// of
$user[] = 'Dit is ook een array zonder index';
?>
Ook zou ik de eerste reactie van Mitch nog even doen.. Dat is de keys in de arrays die nummeriek zijn zonder quotes doen: $array['1'] -> $array[1].. Dit doe je wel maar lang niet overal.
@Willem vp: aangepast
Willem vp 2: ik ga een korte uitleg toevoegen over het verschil tussen empty(null) & unset.
@Bas Kreleger: ik heb alles aangepast, het zou kunnen dat ik dingen heb overkeken.
Het is strikt genomen juist wat ik doe, dit kan volgens php maar ik zal aan het begin van de tut. uitleggen dat ze evengoed . kunnen gebruiken. Ik hoop dan ook dat u daar voldoening mee neemt.
edit: done, willem; is het duidelijk genoeg of schep ik verwarring?
Willem vp 2: ik ga een korte uitleg toevoegen over het verschil tussen empty(null) & unset.
@Bas Kreleger: ik heb alles aangepast, het zou kunnen dat ik dingen heb overkeken.
Quote:
Wanneer je HTML begint in je voorbeelden gebruik je een komma. Kun je hier geen 'punt' van maken? Ik had er namelijk nog nooit van gehoord en ze kunnen beter hetgeen leren wat hedendaags gebruikt wordt..
Het is strikt genomen juist wat ik doe, dit kan volgens php maar ik zal aan het begin van de tut. uitleggen dat ze evengoed . kunnen gebruiken. Ik hoop dan ook dat u daar voldoening mee neemt.
edit: done, willem; is het duidelijk genoeg of schep ik verwarring?
Quote:
Als je een variabele unset is hij dus weg maar als je de functie empty () gebruikt wordt de variabele gewoon leeggemaakt. In beide voorbeelden bestaat de array dus nog maar is hij leeg. (#3 & #4).
Dit klopt niet helemaal:
empty() is een functie om te controleren of een variabele een waarde heeft, anders dan nul en is een BOLEAN. Om een array leeg te maken gebruik je niet de functie empty(), maar stel je hem gelijk aan NULL of aan '';
Ik vind je uitleg van een multidimensionale uitleg een klein beetje ingewikkeld. Je gebruikt bijvoorbeeld o.a. een forloop met id_$i. Dit is leuk en aardig, maar maakt het principe multidimensionale array voor beginners alleen maar lastiger, denk ik.
Verder is het misschien aardig ook eens een volgende opbouw aan te geven:
En wellicht een leuk recursief voorbeeld?
Goede tut verder!
Verder is het misschien aardig ook eens een volgende opbouw aan te geven:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$array = array();
$array['eten']['fruit'] = 'appel';
$array['eten']['fruit'] = 'banaan';
$array['eten']['fruit'] = 'peer';
$array['eten']['groente'] = 'tomaat';
$array['eten']['groente'] = 'sperzieboon';
$array['eten']['groente'] = 'bigmac';
$array['eten']['vlees'] = 'gehakt';
$array['eten']['vlees'] = 'schnitzel';
$array['eten']['vlees'] = 'biefstuk';
$array['drinken']['alcoholisch'] = 'wodka';
$array['drinken']['alcoholisch'] = 'whiskey';
$array['drinken']['alcoholisch'] = 'bier';
$array['drinken']['gezond'] = 'water';
$array['drinken']['gezond'] = 'jus d\'orange';
$array['drinken']['gezond'] = 'bier';
?>
$array = array();
$array['eten']['fruit'] = 'appel';
$array['eten']['fruit'] = 'banaan';
$array['eten']['fruit'] = 'peer';
$array['eten']['groente'] = 'tomaat';
$array['eten']['groente'] = 'sperzieboon';
$array['eten']['groente'] = 'bigmac';
$array['eten']['vlees'] = 'gehakt';
$array['eten']['vlees'] = 'schnitzel';
$array['eten']['vlees'] = 'biefstuk';
$array['drinken']['alcoholisch'] = 'wodka';
$array['drinken']['alcoholisch'] = 'whiskey';
$array['drinken']['alcoholisch'] = 'bier';
$array['drinken']['gezond'] = 'water';
$array['drinken']['gezond'] = 'jus d\'orange';
$array['drinken']['gezond'] = 'bier';
?>
En wellicht een leuk recursief voorbeeld?
Goede tut verder!
Quote:
een forloop met id_$i. Dit is leuk en aardig, maar maakt het principe multidimensionale array voor beginners alleen maar lastiger, denk ik
heb je soms een voorstel,.. hoe het dan wel duidelijk zou zijn?
als ze echter het systeem met een for en foreach al kennen + ze weten hoe ze strings moeten . dan denk ik dat er geen problemen zouden kunnen zijn. Ik geef 3 manieren voor het ophalen, van gemakkelijk naar moeilijk...
ik heb de 2 manier voor het def. van multi arrays toegevoegt.
ik weet echter niet als een recursief voorbeeld in goed idee is in een tut voor beginners? op php-freakz staat er zo'n tut :p
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Tommy- 7 jaar geleden
- 3.658 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP tutorials opties
- Overig
- Nieuwste PHP tutorials
- PHP tutorial toevoegen


PHP hulp
0 seconden vanaf nu