PHP modifier un objet itéré

Tety -  
 Tety -
Bonjour,

J'espère que quelqu'un pourra m'aider.
J'ai un objet dans lequel, j'ai d'autres objets et j'aimerais modifier la valeur d'un sous-objet. j'ai donc commencé par faire un double foreach sauf qu'on ne peut référencer un itérateur. Quelqu'un aurait-il une idée de comment faire? Merci

A voir également:

8 réponses

Aktayen Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   20
 
Salut,
tu peux montrer tes classes stp, car la ça me parait compliqué de t'aider..

Merci
0
Tety
 
Personne? snif snif
0
Aktayen Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   20
 
je t'avais demandé le détail de tes classes pour pouvoir t'aider..
0
Tety
 
Bonjour Aktayen,
désolée, ton précédent message n'apparaît pas. en fait, la classe de l'objet que j'aimerais modifier n'est pas de moi et je n'ai pas le droit de publier le code.
Mais pour un objet quelconque, comment procèderais-tu?ça me mettra peut-être sur la voie. Merci

foreach($finder as &$value)
{
foreach($value as $val)
{
// et là, j'aimerais faire des modification sauf que $val n'est qu'une simple copie de $value
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Aktayen Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   20
 
De principe, pour modifier un objet il faut qu'il y est des méthodes dans cette objet qui permettent de le faire.
Après c'est faut juste appeler les méthodes selon la situation.
0
Gremy87 Messages postés 360 Statut Membre 38
 
Bonjour je suis d'accord avec Aktayen.

prenons un exemple:

class Objet1
{

private $val;

public function __construct()
{

}

public function setVal($valeur)
{
$this->val=$valeur;
}

public function getVal()
{
return $this->val;
}
}

class Objet2
{
private $objet;
public function __construct()
{

}

public function setValObj($obj)
{
$this->objet=$obj;
}

public function getValObj()
{
return $this->objet;
}
}

$obj1= new Objet1();

$obj2=new Objet2();

$obj1->setVal("toto");
$obj2->setValObj($obj1);

$obj2->getValObj()->setVal("tutu");

echo $obj1->getVal("tutu");



bon je peux pas tester ca mais de tete, ca doit etre bon.

la valeur de val de l objet 1 qui est contenu dans l objet 2 soit etre tutu

aucun foreach, juste les bonnes methodes

PS: j'ai mis des conneries dans mon code? chiant de pas pouvoir tester ce que l'on écrit ^^
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
0
Tety
 
Je sais bien qu'il faut des méthodes pour faire des modifications. Le problème est que lorsque j'effectue ma modification (il y a déjà une méthode pour), elle porte sur la copie qui est faite par le foreach et non sur l'objet lui-même. et vu qu'avec les références, on a accès directement à la ligne de l'objet et non à une simple copie, j'essaie de creuser cette piste pour pas avoir à rajouter d'autres méthodes dans cette classe qui n'est pas la mienne mais si c'est impossible, je modifierai surement la classe. je vous tiens au courant. merci
0
Tety
 
En fait, mon problème vient surtout du framework, ce n'est donc pas un souci de php finalement. merci pour vos réponses.
0