Page 1 sur 1

Merge de tableau d'objet

Posté : 15 mars 2008, 19:28
par Yoggoth
Bonsoir,

Existe-t-il une fonction similaire à array_merge() afin de fusionner deux tableaux d'objets ?

Si non, comment puis-je récupérer le nombre d'argument d'un objet ?

Par exemple un count() sur
stdClass Object
(
    [id_video] => ZZZ
    [titre] => video commu
    [description] => jbnjd bodiub
    [id_genre] => 1

)
me retourne 1 au lieu de 4 :roll:

Merci d'avance
Djay

Posté : 15 mars 2008, 23:50
par Sékiltoyai
Tu peux essayer d'utiliser la SPL et étendre ArrayObject, ca devrait te donner un objet qui a aussi les propriétés d'un tableau, ce qui comprend l'utilisation de count() ou encore des fonctions de tableau…

Posté : 16 mars 2008, 00:44
par Hywan
StdClass n'implémente pas l'interface Countable (ni Iterator d'ailleurs, et c'est chiant parfois), donc un count dessus n'aura aucun effet.

Posté : 16 mars 2008, 11:48
par Jules Petibidon
Un count( get_object_vars( $truc ) ) peut être une solution...

Pour ce qui est de la "fusion", il me paraitrait logique que ce soit impossible. Enfin avec PHP faut s'attendre à tout donc avec réserve :)

Posté : 16 mars 2008, 12:39
par Sékiltoyai
Il y a ca aussi :
<?php

class machin1
{

	public $test1 = 'truc';
	public $test2 = 'bidule';

}

class machin2
{

	public $test2 = 'chouette';
	public $test3 = 'machin';
	public $test4 = '';

}
$test1 = new machin1();
$test2 = new machin2();

var_dump(array_merge((array) $test1, (array) $test2));

?>