Bonjour, je suis sur un dilemme (j'ai ce code ci dessous) et il se trouve que lors du print_r du bas, les valeurs modifiées par la fonction de calcule stoké dans mReturn sont appliquer a la variable de session correspondante ce que je ne comprend pas... Si quelqu'un a une idée... Merci
Exemple : mReturn[header] prend les valeurs par defaut dans $_SESSION[doc_depend] (du header correspondant), la fonction de calcule (calc_element_position) change la valeur de "x" (genre de 10 a 15) seulement la valeur est bonne dans mReturn[header] mais elle est ossi modifier dans $_SESSION[doc_depend] (du header correspondant)...
On diré que quand je fais "mReturn[header] = $_SESSION[doc_depend] (du header correspondant)" ca ce link...
Je comprend pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public function ajusteMiseEnPage() { $mReturn=array(); if($this->idEnteteDePage && isset($_SESSION['doc_depend']->enteteDePage[$this->idEnteteDePage])) { $mReturn['header'] = $_SESSION['doc_depend']->enteteDePage[$this->idEnteteDePage]; } if($this->idPiedDePage && isset($_SESSION['doc_depend']->piedDePage[$this->idPiedDePage])) { $mReturn['footer'] = $_SESSION['doc_depend']->piedDePage[$this->idPiedDePage]; } if(isset($mReturn['header']) && isset($mReturn['footer'])) { $aSide = array('mgTop','mgBottom','mgLeft','mgRight'); print_r($_SESSION['doc_depend']->enteteDePage); print_r($mReturn['header']); foreach($aSide as $sSide) { if($mReturn['header']['prop'][$sSide] > $mReturn['footer']['prop'][$sSide]) { $iEcart = $mReturn['header']['prop'][$sSide] - $mReturn['footer']['prop'][$sSide]; $mReturn['header']['prop'][$sSide] = $mReturn['footer']['prop'][$sSide]; $this->format->{$sSide} = $mReturn['header']['prop'][$sSide]; if($sSide=='mgTop' || $sSide=='mgLeft') { $mReturn['header'] = calc_element_position($mReturn['header'],$sSide,$iEcart); } }elseif($mReturn['footer']['prop'][$sSide] > $mReturn['header']['prop'][$sSide]) { $iEcart = $mReturn['footer']['prop'][$sSide] - $mReturn['header']['prop'][$sSide]; $mReturn['footer']['prop'][$sSide] = $mReturn['header']['prop'][$sSide]; $this->format->{$sSide} = $mReturn['footer']['prop'][$sSide]; if($sSide=='mgTop' || $sSide=='mgLeft') { $mReturn['footer'] = calc_element_position($mReturn['footer'],$sSide,$iEcart); } } print_r($_SESSION['doc_depend']->enteteDePage); print_r($mReturn['header']); } } return $mReturn; }
Partager