var_dump different

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : var_dump different

par Hywan » 31 mai 2008, 23:20

c'est bien ce que je pensait :) . Par contre je voulait savoir si il y avait une équivalence en PHP5 au pointeurs de la prog en C++ (ou autre language objet) mais a mon avis cela n'existe pas :twisted:
En PHP 5, les objets sont tous passés par référence, le reste est envoyé par valeur — par défaut —. Tu peux utiliser le signe & pour forcer un passage en référence (équivalent des pointeurs).
Mais je doute que la notion de pointeur existe dans un langage interprété …

par x@v » 31 mai 2008, 12:27

Mon problème est que je n'utilise pas les références dans mon programme ?
Je ne comprend pas d'où sa vient.
Et c'est inquiétant parce que tout fonctionne en local mais sur le serveur les sessions se mélange.
Quand je clique sur supprimer un élément du panier ou supprimer.
http://developpus.com/mvc/index.php?page=produits&cat=2
et que je suis connecté
http://developpus.com/mvc/index.php?page=connection
avec
login:x@v
mot de passe:cv
Il change ma session nom ?
j'ajoute qu'en local mon var_dump()
ne renvoie pas de variable avec référence

Code : Tout sélectionner

Array ( [idCategorie] => 1 [img] => Autumn_Leaves.jpg Tree.jpg Humpback_Whale.jpg [nomClient] => [chemin] => [caddie] => Array ( [16] => 1 [17] => 1 ) ) 1

par vince_weed » 30 mai 2008, 16:19

c'est bien ce que je pensait :) . Par contre je voulait savoir si il y avait une équivalence en PHP5 au pointeurs de la prog en C++ (ou autre language objet) mais a mon avis cela n'existe pas :twisted:

par savageman » 30 mai 2008, 16:12

C'est tout à fait ça !
En gros, un emplacement mémoire peut avoir plusieurs références (plusieurs variables qui pointent vers le même contenu en mémoire).

Une référence n'est PAS un alias pour une autre variable.

Par défaut, lorsqu'on fait :
$var = 'toto';
Alors 'toto' à une référence : $var.

Si tu fais en plus :
$foo = &$var;
Alors 'toto' aura 2 références : $var et $foo.

Si tu fais :
unset($var);
'toto' existe toujours car une référence existe encore vers lui (c'est $foo).

Enfin, si tu fais :
unset($foo);
'toto' n'a plus de référence, donc il est supprimé de la mémoire.

@+

par vince_weed » 30 mai 2008, 16:03

En prog classique je sais que cela signifie que tu obtient la valeur par reférence; je suppose donc que dans ce cas, cela signifie que tu a dans le tableau, des reférence vers les valeurs des types (en memoire physiques). Mais ce n'est qu'une idée, donc a confirmer par quelqu'un de plud calé que moi

var_dump different

par x@v » 30 mai 2008, 15:41

Bonjour,
je fais un var_dump sur des sessions en cour dans ma page
echo '<p>'.var_dump($_SESSION).'</p>';

Code : Tout sélectionner

array(4) { ["idCategorie"]=> &string(1) "2" ["caddie"]=> &array(2) { [2]=> int(3) [5]=> int(9) } ["nom"]=> &string(3) "x@v" ["civilite"]=> &string(2) "M." }
Je ne vois pas à quoi corresponde les & devant les types ?
Merci