Hallo,
Ik ben op het moment bezig om een list class te schrijven die en opgehaalde lijst uit sql cachect in session en die hem returnt, nu zit ik met een probleem dat als ik de $_SESSION var ophaal en een andere variabel stop om als kopie er verder mee te werken dat ik meteen de inhoud van $_SESSION ook verandere wat niet de bedoeling is.
code:
Het gaat dus bij array_slice waar ik een stuk van de array wil returnen naar de gebruiker en de inhoud van de sessie (alle items) wil bewaren, nee hij slicet hem direct op de session variabel.
Wat heb ik geprobeerd, en bekeken:
Op php.net stond dit:
Iemand ervaring mee en een oplossing toevallig?
Ik ben op het moment bezig om een list class te schrijven die en opgehaalde lijst uit sql cachect in session en die hem returnt, nu zit ik met een probleem dat als ik de $_SESSION var ophaal en een andere variabel stop om als kopie er verder mee te werken dat ik meteen de inhoud van $_SESSION ook verandere wat niet de bedoeling is.
code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| $this->list = $_SESSION["list_" . $this->name]; if($io->testGet("sortPage")) { $this->list['Data'] = array_slice($this->list['Data'], (is_numeric($io->retrieveGet("sortPage")) ? (($io->retrieveGet("sortPage") <= $this->list["NumberOfPages"] && $io->retrieveGet("sortPage") >= 0) ? $io->retrieveGet("sortPage")*$this->itemsperpage : 0) : 0), (($this->itemsperpage != -1) ? $this->itemsperpage : $this->records)); } else { $this->list['Data'] = array_slice($this->list['Data'], 0, (($this->itemsperpage != -1) ? $this->itemsperpage : $this->records)); } |
Het gaat dus bij array_slice waar ik een stuk van de array wil returnen naar de gebruiker en de inhoud van de sessie (alle items) wil bewaren, nee hij slicet hem direct op de session variabel.
Wat heb ik geprobeerd, en bekeken:
Op php.net stond dit:
Geprobeerd, maar wou niet werken voor mij. Ook nog gegoolged, maar kreeg weinig resultaten.I wanted to retain a session variable's value after a session_unset() and encountered this anomaly: PHP can assign your variable by reference/pointer if your data source is a session variable, even if "&" isn't supplied.
<?
$_SESSION['x'] = "foo";
$x = $_SESSION['x'];
echo $x; // "foo"
$_SESSION['x'] = "bar";
echo $x; // "bar";
?>
To fix this, you can assign your variable to a new variable:
<?
$_SESSION['x'] = "foo";
$x = $_SESSION['x'];
$y = $x;
echo $y; // "foo"
$_SESSION['x'] = "bar";
echo $y; // "foo";
?>
Iemand ervaring mee en een oplossing toevallig?