<?php
if ( count( $aArray ) -1 >= 2 && $aArray[2] == "een string")
{
echo "Test";
}
?>


Uit bovenstaande code krijg ik een fout:

"Notice: Undefined offset: 2 in...."

maar daar test het if statement toch op ? Let trouwens niet op waar de code voor gebruikt gaat worden, ik ben me aan het omscholen van ColdFusion naar PHP en daar zitten nog best een bak verschillen tussen. Ik wil eerst proberen alles aan de gang te helpen met de kennis die ik nu heb en daarna zoeken naar een andere/betere manier...

[size=xsmall]Toevoeging op 04/06/2014 16:06:35:[/size]

nevermind, de fout zaat ergens anders..
Met $aArray[2] adresseer je het array-element met de arraysleutel 2. Dat wil niet zeggen dat de array dan minimaal 2 elementen bevat, want dit is een geldige array met maar één element met de sleutel 2:


<?php
$aArray = array(
    2 => 'een string'
);

echo $aArray[2];  // 'een string'

// Array laten zien
echo '<pre>';
print_r($aArray);
?>
Dat ligt er aan hoe dat array() is gevuld.

Dit geeft ook die offset error maar er zitten 3 elementen in:
<?php
error_reporting(E_ALL);
$aArray[]='phphulp';
$aArray[3]='een getal';
$aArray[]='een string';
if ( count( $aArray ) -1 >= 2 && $aArray[2] == "een string")
{
echo "Test";
}
?>
En om dan gelijk de volgende vraag te beantwoorden; als je wilt weten of $aArray[2] bestaat dan kan je dat met (bijvoorbeeld) isset testen:

<?php
if ( isset( $aArray[2] ) ){
  //...
} 
?>
Dit is lekker snel leren :D

Hartelijk dank allemaal !

Reageren