[PHP] return werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een code om te tellen hoeveel plaatjes erin de directory staan.
Dat doe ik zo;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function countPics($uploaddir) {
    $plaatjes_dir = "/usr/local/www/" . $uploaddir;
    if (is_dir($plaatjes_dir)) {
        $uploaddir = $plaatjes_dir;
        $aantal = 0;
        if ($handle = opendir($uploaddir)) {
            while (false !== ($file = readdir($handle))) {
                if ($file != "." && $file != "..") {
                    $aantal++;
                }
            }
            closedir($handle);
        }
    }
    return $aantal;
}


Alleen als ik dit doe krijg ik hem niet gereturned, en als ik van die return een echo maak. Dan staat het er netjes want in.

code:
1
2
$site->countPics($dir);
    echo $aantal;


Komt er niks te staan. Doe ik iets fout ? Of begrijp ik niet hoe je een return kan / hoort te gebruiken.

Dank u

Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
echo $site->countPics($dir);

zou het moeten zijn :)

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 11-12-2024

blizt

Wannabe-geek

Als je return $aantal doet dan geeft ie die waarde terug.
Doe je dan bv. dit:
PHP:
1
echo $site->countPics($dir);

echo je het ...

spuit elf ^^

[ Voor 8% gewijzigd door blizt op 17-11-2004 16:52 ]

United we stand, and divided we fall


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
echo(countPics($dir));


werkt wel?

spuit 12 ;)

[ Voor 13% gewijzigd door Verwijderd op 17-11-2004 16:55 ]


Acties:
  • 0 Henk 'm!

  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
of
code:
1
2
$aantal = $site->countPics($dir);
    echo $aantal;

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
$aantal = $site->countPics();


maak ik er nu van en dat werkt, ik vind het maar raar :P

stom iets in php

maar thanx :)

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

Zie de PHP manual ontrend scopes van variabelen.

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Verwijderd schreef op woensdag 17 november 2004 @ 16:56:
$aantal = $site->countPics();


maak ik er nu van en dat werkt, ik vind het maar raar :P

stom iets in php

maar thanx :)
Dat is in vrijwel iedere taal zo. De variabel zelf wordt niet gereturned, alleen de waarde. Dat zou anders wel erg vervelend zijn als jij al een variabel met dezelfde naam zou gebruiken. Dan zou die zo overschreven worden en krijg je te maken met bugs zonder dat je ze snel kunt vinden. Een functie kan een waarde returnen. Dat wil zeggen dat je een functie op dezelfde manier kunt gebruiken als een gewoon getalletje, alleen is de uitkomst nog niet bekend. Als je gewoon ergens een getalletje op een regel zet gebeurt er ook helemaal niets. Logisch dus. Je moet nog wel iets met de waarde gaan doen, aan een variabel toewijzen of uitprinten/echoen etc.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
op die manier :)


Das wel logisch ja, thanx !
Pagina: 1