Comment détruire une variable dans un objet ?
paysan hardi
Member
dans Entraide
bonjour,
j'utilise spxDatas pour remplir des variables et il semblerait qu'à l'usage $plxShow gonfle de façon disproportionnée par rapport au poids des variables créées:
je cherche une solution dans mon code pour ne rien modifier au core ou à spx
unset($plxShow); est impossible (ne pas traiter $plxShow de tableau sinon il se fache
unset($plxShow->aStats); ne marche pas
si quelqu'un peux m'expliquer cette disproportion, voire comment y remédier ?
j'utilise spxDatas pour remplir des variables et il semblerait qu'à l'usage $plxShow gonfle de façon disproportionnée par rapport au poids des variables créées:
[== PHP ==]
$o["table"]="contacts"; $contacts = $plxShow->callHook('spxdatas::getData',$o);
//garde les champs utiles
$keys = array_fill_keys(array('nom', 'fixe', 'idgroupe', 'rem','contacts_id' ), true);
foreach ($contacts as &$v) {$v = array_intersect_key($v, $keys);}
unset($v);unset($keys);
//met les champs dans l'ordre
foreach ($contacts as $a => $b) { $ord1[$a]=$b['idgroupe']; $ord2[$a]= $b['nom'];}
array_multisort($ord1, SORT_ASC, $ord2, SORT_ASC, $contacts );
unset($ord1); unset($ord2); unset($a); unset($b);
// réindexe
foreach ($contacts as $a => $b) {$new[$b['contacts_id']]=$b;}
$contacts=$new;
unset($new);unset($a);unset($b);
# peak=[b]14.6[/b] usage=7.89 $contacts=344.95kB $plxShow=[b]3.33MB[/b]
$o["table"]="plantes";
$cultures = $plxShow->callHook('spxdatas::getData',$o);
$keys = array_fill_keys(array('genre', 'espece', 'variete','plantes_id' ), true);
foreach ($cultures as &$v) {$v = array_intersect_key($v, $keys);}
unset($v);unset($keys);
foreach ($cultures as $a=>$b) { $ord1[$a]=$b['genre']; $ord2[$a]=$b['espece'];}
array_multisort($ord1, SORT_ASC, $ord2, SORT_ASC, $cultures );
unset($ord1); unset($ord2); unset($a); unset($b);
foreach ($cultures as $a=>$b) {$new[$b['plantes_id']]=$b;}
$cultures=$new;
unset($new);unset($a);unset($b);
# peak=[b]29.81[/b] usage=15.41 $cultures=427.71kB $plxShow=[b]10.63MB[/b]
même inflation dans $plxMotorje cherche une solution dans mon code pour ne rien modifier au core ou à spx
unset($plxShow); est impossible (ne pas traiter $plxShow de tableau sinon il se fache
unset($plxShow->aStats); ne marche pas
si quelqu'un peux m'expliquer cette disproportion, voire comment y remédier ?
Connectez-vous ou Inscrivez-vous pour répondre.