Variabelen uit een functie in andere functie gebruiken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vincent

Vincent

17/01/2007 13:59:00
Quote Anchor link
Ik heb een functie, die enkele waarden ophaalt, voor friendly url's (pagina, item, subitem en subsubitem).
In een andere functie wil ik deze waarde gebruiken, maar dat lukt niet.
In die andere functie de functie aanroepen werkt ook niet, enkel copy paste van wat er in de functie staat.

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
<?php
function requestUri() {
    $req = explode('/', $_SERVER['REQUEST_URI']);
    array_shift($req);
    array_shift($req);
    global $pagina;
    global $item;
    global $subitem;
    global $subsubitem;
    $pagina = $req[1];
    if (empty($pagina)) { $pagina = 'start'; }
    $item = $req[2];
    $subitem = $req[3];
    $subsubitem = $req[4];
    if ($pagina == 'index.php') { header('Location: ' . PATH_CMS); }
}

?>


In de functie paging heb ik dus $item waarde nodig.
 
PHP hulp

PHP hulp

24/04/2024 13:19:48
 
Jurgen assaasas

Jurgen assaasas

17/01/2007 14:08:00
Quote Anchor link
heb je de pagina wel geinclude? naar mijn weten zou dit dan gewoon moeten werken als je requestUri() aanroept op een pagina.
 
Joren de Wit

Joren de Wit

17/01/2007 14:15:00
Quote Anchor link
Nee, dit werkt niet, je gebruikt 'global' verkeerd. Met global kun je een variabele die buiten een funtie gedeclareerd is binnen de functie gebruiken, niet andersom.

Je zult zien dat het niet werkt.
Edit:
Ik zie nu dat het gebruik van global in je script wel klopt. Maar ik vraag me af waarom je niet een array retourneerd en daarmee verder werkt.


Wat je zult moeten doen is de variabele uit de functie retourneren. En als je meerdere variabelen wilt retourneren, zul je dat met een array moeten doen aangezien de functie na de eerste 'return' eindigt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function test()
{

    $var1 = 'bla';
    $var2 = 'blabla';
    
    $array = array($var1, $var2);
    return $array;
}

$resultaat = test(); // $resultaat == $array uit de functie
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 



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.