Arrays

Door Tommy , 22 jaar geleden, 14.172x bekeken

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

  1. Inleiding
  2. Controlestructuren met arrays
  3. Associatieve arrays koppelen met foreach
  4. Meerdimensionale of Multidimensionele arrays
  5. Arrays resetten / wijzigen / toevoegen
  6. Allerlei functies met arrays (uitgebreid)

 

Er zijn 27 reacties op 'Arrays'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
DEZE TUT IS NOG NIET AF

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.
Mitch X
Mitch X
22 jaar geleden
 
0 +1 -0 -1
De indeces zijn gewone getallen en horen daarom geen quotes te krijgen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
# dus niet
array( '0' => 'aap' );
# maar wel
array( 0 => 'aap' );
?>
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
Commentaar en opmerkingen zijn altijd welkom!

Thomas Verbeke
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
idd glad vergeten;

maar ik zou unshift gebruiken ipv push niet?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
array_unshift($array, 'thomas');'
?>
Pieter van Linschoten
Pieter van Linschoten
22 jaar geleden
 
0 +1 -0 -1
Dan haal ik dat bericht hierboven wel weg, anders hoef je em* niet meer te lezen xD

edit:
*= de tutorial
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
hm, ik zal de 2 manieren posten; thx man
Han eev
Han eev
22 jaar geleden
 
0 +1 -0 -1
Ff een opmerking:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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

?>

Dus: ^^

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$array
= array (1 => 'thomas', 2 => 'david');
// array_unshift
array_unshift($array, 'vincent'); // $ moet weh
// array_push

?>
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
@Lapidi: bij jouw staat :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$array = array_push($array,'peer');

moet dat niet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
array_push($array, 'peer');


@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...
 
0 +1 -0 -1
Net wat ik nodig had, ik zocht er eergisteren nog om hier, toen was er geen tut te vinden...
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
graag gedaan, op de laatste pagina ben ik nog wat voorbeelden en functies aan het toevoegen
Pieter van Linschoten
Pieter van Linschoten
22 jaar geleden
 
0 +1 -0 -1
Je hebt gelijk... $array = array_push($array,'peer'); levert niet het gewenste resultaat :p

En nog een opmerking namens het random string:
n98BqqHSA7AlBBghFLOetrPu2Y7dSO
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
idd, moet er ook bij, nog andere voorstellen;

heb net de typ en schrijffouten er uit gehaald :p
een stuk of 5 -dt fouten, hehe
was er aan te zien dat ik het zeer snel heb uitgetypt
Vincent
Vincent
22 jaar geleden
 
0 +1 -0 -1
Quote:
De functie array_unshift voegt een element toe aan het einde van de array terwijl de functie array_push een element aan het begin van de array toevoegt.

Moet andersom zijn lijkt me? :)
Verder interessant artikel en altijd handig om eens door te lezen.
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
idd; aangepast
Koos-Bert
Koos-Bert
22 jaar geleden
 
0 +1 -0 -1
Ik dacht altijd dat je bij arrays de key een andere waarde kon geven, zoieets als dit: array('sleutel1' => 'bla bla', 'sleutel2' => 'urkel urkel urkel').

Hoe moet je nou met array_push zeggen dat de sleutel "sleutel3" moet heten met de inhoud: "jweoirjweoir"?
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
array_push($array, array(sleutel/key => 'waarde/element'));
?>

en dan merge (), zo zou het moeten lukken denk ik...anders zou ik het niet weten
Willem vp
Willem vp
22 jaar geleden
 
0 +1 -0 -1
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.
Willem vp
Willem vp
22 jaar geleden
 
0 +1 -0 -1
Op pagina 5 schrijf je het volgende:
Quote:
Een andere manier voor het verwijderen van een array is door hem gelijk te stellen aan niets.
Hier ben ik het niet noodzakelijkerwijs mee eens. Er zit namelijk een subtiel verschil tussen:

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.
B a s
B a s
22 jaar geleden
 
0 +1 -0 -1
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';
?>


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.
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
@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.

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?
Pieter van Linschoten
Pieter van Linschoten
22 jaar geleden
 
0 +1 -0 -1
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 '';
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
idd
PHP erik
PHP erik
22 jaar geleden
 
0 +1 -0 -1
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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';

?>


En wellicht een leuk recursief voorbeeld?

Goede tut verder!
Tommy
Tommy
22 jaar geleden
 
0 +1 -0 -1
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
Niels Beckers
Niels Beckers
22 jaar geleden
 
0 +1 -0 -1
hoe kan je adhv array_push ook een andere waarde meegeven dus ipv [1] => 'waarde' doen [mijnding] => 'waarde' of is dit onmogelijk?
Tjark
Tjark
21 jaar geleden
 
0 +1 -0 -1
Hoi allen, ik probeer mijn eigen deal or no deal te programmeren en volgens mij kan ik met arrays een heel stuk tekst voorkomen. Maar ik krijg het niet voor elkaar om elk koffertje een rand (1,26) te geven. Kan iemand mij helpen?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jacco Engel
Jacco Engel
21 jaar geleden
 
0 +1 -0 -1
Tjark open een topic omschrijf het probleem en zeg wat je wil hebben dan zal ik je proberen te helpen

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Inleiding
  2. Controlestructuren met arrays
  3. Associatieve arrays koppelen met foreach
  4. Meerdimensionale of Multidimensionele arrays
  5. Arrays resetten / wijzigen / toevoegen
  6. Allerlei functies met arrays (uitgebreid)

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.