Hét vraag- en antwoordplatform van Nederland

Kan je niks printen als een array niet bestaat?

Ik ben bezig met een vrij geavanceerde website, maar ik loop ergens op vast.
Ik zal een voorbeeld geven:

Array
(
[0] => appel
[1] => peer
[2] => banaan
[3] => kiwi
)

Ik heb bijvoorbeeld deze array (in PHP), maar als ik dan $array[4] oproep (die ik niet heb natuurlijk) komt deze error: Fatal error: Cannot use [] for reading in F:\xampp\htdocs\test.php on line 31

Die error is opzich logisch, maar is het mogelijk dat als die array niet bestaat dat er dan niks komt te staan? Hoe moet ik dat doen?

Verwijderde gebruiker
11 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Het beste antwoord

Er gaat iets anders fout: Je roept [] aan ipv [4]. Dus je probeert ergens een 4 uit te halen waar niks in zit, of je roept letterlijk $array[] aan, bijvoorbeeld $test = $array[].

Ik heb ook nog nooit zo'n fatal error gekregen wanneer ik een te hoge index in een array probeerde uit te lezen.

Verder kun je een apenstaart voor de expressie kunnen plaatsen: $test = @$array[4], dan zal een error bij het uitlezen van de variabel, genegeerd worden.
Verwijderde gebruiker
11 jaar geleden

Andere antwoorden (1)

Je kunt het aantal elementen in je array tellen met de functie count() .

In jouw voorbeeld:

$lijst[0] = "appel";
$lijst[1] = "peer";
$lijst[2] = "banaan";
$lijst[3] = "kiwi";
$aantal = count($lijst);

$aantal is nu gelijk aan 4, het aantal elementen in jouw array.

Je weet nu dat je alleen de elementen $lijst[0] t/m $lijst[$aantal-1] kunt afdrukken. De rest bestaat niet.
 

Toegevoegd na 14 minuten:
 
Je kunt (in dit voorbeeld) alle elementen afdrukken met een eenvoudige for-lus:

for ($i=0; $i{
    echo $lijst[$i];
}

In dit geval kun je zelfs foreach() gebruiken:

foreach ($lijst as $fruit)
{
    echo $fruit;
}

Zo'n foreach-lus gaat vanzelf alle elementen van je array langs, en houdt dus zelf bij welke elementen wel, en welke niet bestaan.
 
Cryofiel
11 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing