Noob vraagje; wat is er mis met deze code ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tijn Snijders

Tijn Snijders

04/06/2014 15:55:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?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...

Toevoeging op 04/06/2014 16:06:35:

nevermind, de fout zaat ergens anders..
 
PHP hulp

PHP hulp

28/12/2024 06:49:33
 
Ward van der Put
Moderator

Ward van der Put

04/06/2014 16:42:52
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$aArray
= array(
    2 => 'een string'
);

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

// Array laten zien

echo '<pre>';
print_r($aArray);
?>
 
- SanThe -

- SanThe -

04/06/2014 16:43:30
Quote Anchor link
Dat ligt er aan hoe dat array() is gevuld.

Dit geeft ook die offset error maar er zitten 3 elementen in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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";                                    
    }

?>
 
Erwin H

Erwin H

04/06/2014 17:27:06
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if ( isset( $aArray[2] ) ){
  //...
}
?>
 
Tijn Snijders

Tijn Snijders

04/06/2014 17:58:04
Quote Anchor link
Dit is lekker snel leren :D

Hartelijk dank allemaal !
 



Overzicht Reageren

 
 

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.