OVH Cloud OVH Cloud

casting tout azimuth

3 réponses
Avatar
Etienne SOBOLE
salut,

j'utilise souvent un truc genre

$tArray = (array)$x;

ce qui a pour effet de me retourner un tableau meme si $x est un entier ou
autre...
mon probleme est que si $x est un objet je n'obtients pas un tableau
contenant un objet mais une conversion de l'objet en tableau.

bref. y a t-il une forme de cast qui permettrai de me retourner:
- $x si $x est un tableau
- un tableau contenant dans la case 0 l'objet $x si $x est un objet
- un tableau contenant dans la case 0 $x dans tous les autres cas ?

merci
Etienne

3 réponses

Avatar
FightClub!
salut,

j'utilise souvent un truc genre

$tArray = (array)$x;

ce qui a pour effet de me retourner un tableau meme si $x est un entier ou
autre...
mon probleme est que si $x est un objet je n'obtients pas un tableau
contenant un objet mais une conversion de l'objet en tableau.

bref. y a t-il une forme de cast qui permettrai de me retourner:
- $x si $x est un tableau
- un tableau contenant dans la case 0 l'objet $x si $x est un objet
- un tableau contenant dans la case 0 $x dans tous les autres cas ?


$x = (is_array($x)?$x:array($x));

--

http://www.SD2i.com
_ Cabinet SD2i _

Avatar
Bruno Desthuilliers
Etienne SOBOLE wrote:
salut,

j'utilise souvent un truc genre

$tArray = (array)$x;

ce qui a pour effet de me retourner un tableau meme si $x est un entier ou
autre...
mon probleme est que si $x est un objet je n'obtients pas un tableau
contenant un objet mais une conversion de l'objet en tableau.

bref. y a t-il une forme de cast


Oui - ça s'appelle une fonction !-)

qui permettrai de me retourner:
- $x si $x est un tableau
- un tableau contenant dans la case 0 l'objet $x si $x est un objet
- un tableau contenant dans la case 0 $x dans tous les autres cas ?


Tu peux m'expliquer quelle est la difference profonde entre les deux
derniers cas ?-)

En tout état de cause, je vois pas trop où est ton problème :

function to_array($whatever) {
return is_array($wathever) ? $whatever : Array($wathever);
}

$tArray = to_array($x);


--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
Etienne SOBOLE
function to_array($whatever) {
return is_array($wathever) ? $whatever : Array($wathever);
}


mouaip.
c'est vrai que ca fonctionne...
je sais pas pourquoi j'y ai po penser !!!
sans doute avais-je esperé un truc plus petit... enfin un cast !!!

merci en tout cas.