Variabelen uit een functie in andere functie gebruiken
Vincent
17/01/2007 13:59:00Ik 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.
In de functie paging heb ik dus $item waarde nodig.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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); }
}
?>
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
24/12/2024 17:14:38Jurgen assaasas
17/01/2007 14:08:00heb je de pagina wel geinclude? naar mijn weten zou dit dan gewoon moeten werken als je requestUri() aanroept op een pagina.
Joren de Wit
17/01/2007 14:15:00Nee, 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.
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.
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)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit