$var{func()}

kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008 - 24 août 2005 à 00:40
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008 - 24 août 2005 à 16:10
je cherche le nom de ce type de syntaxe (afin de chercher la doc sur php.net, ou alors quelqu'un m'explique)



$var{function()}



merci d'avance


_Marikou

12 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 août 2005 à 01:50
Salut,



c'est à dire ? tu cherches à faire quoi ? tu veux qu'une variable prenne dynamiquement le résultat retourné par une fonction ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
24 août 2005 à 01:53
en fait toujours dans l'optique de comprendre ton script d'image crypté, j'ai essayé d'en savoir plus qur ca :



$caracteres = 'abcdefghijklmnspqrstuvwxyz123456789';

$cnt=strlen($caracteres)-1;

$passe=$caracteres{mt_rand(0,$cnt)};


et le "$caracteres{mt_rand(0,$cnt)};" je le comprends pas tres bien (en
fait j'avais deja vu des { apres une $var mais je connais pas
l'utilisation, et l'utilité surtout...) j'essaye d'en savoir plus, ca
peut toujours servir et ca a l'air assez puissant



en fait je cherche pas a faire quelque chose, je cherche juste un mot
clé pour les { apres les $var afin de comprendre comment ca marche



(je precise pour ceux qui croit que je debute, ca fait 1 an que jdebute =), j'apprends sur le tas)
_Marikou
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
24 août 2005 à 09:40
Salut,



En fait c'est tout bête :



$string = "abcdef";

$char = $string{3};

echo $char; // => 'd'

$char = $string[0];

echo $char; // => 'a'



En fait, '[]' est ambigue : pour l'acces au caractère dans une chaine
est à un champ dans un tableau. Donc les créateur de PHP ont décidé de
créer l'acces via '{}' UNIQUEMENT pour les chaines. Bien utilisés, ils
permettent de faire la différence entre tableau et chaîne directement à
la lecture du code.



Note :

$nb = 2;

echo "Deux mille en chiffre ça s'écrit {$nb}000 !!"

// Affiche : Deux mille en chiffre ça s'écrit 2000 !!"



Ici les {} permettent d'isoler la variable à subtituer.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 août 2005 à 10:50
cette solution reste quand même préférable :



echo 'Deux mille en chiffre ça s'écrit ',$nb,'000 !!';

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 août 2005 à 13:18
c'est dérivé du C :

en c, une chaine de caractère à longueur fixe est un tacleau de char (char = variable codée sur un octet), et une chaine de caractères de longueur variable : un pointeur.

on accède donc à un caractère de la façon suivante :

string[position]='a';

ou bien :
(*string+position)='a';


la seconde notation reste vraiment compliquée et peu utilisée, ils ont pris la première, et pour éviter les ambiguitées, ils ont remplacé [ par {.

il doit y avoir aussi un lien avec la synthaxe perl, php étant un bébé du perl...
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
24 août 2005 à 15:46
c'est tres simpa toute cette aide, j'avais pas trouvé sur php.net = )

maintenant je comprends mieux c'est le même principe que le $case[5] d'un tableau...

Merci a vous tous



J'ai cependant une dernieer petite question, toute petite promi :

anthomicro a dit :

echo 'Deux mille en chiffre ça s'écrit ',$nb,'000 !!';



qu'elle est la difference entre echo 'test ',$var,' test';

et echo 'test '.$var.' test';



(les vrigule ou le point)



je cherche encore sur php.net mais jsuis un peu pommé

moi jfais tout avec des echo 'a'.$var.'b';



et sur la vitesse de traitement qu'est ce que ca change ?



Merci encore pour votr aide, j'ai appris un truc utile =)

_Marikou
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 août 2005 à 15:54
Déjà dit plein de fois, c'est une question d'optimisation :



Optimiser PHP

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 août 2005 à 15:55
le lien est pas passé



Optimiser PHP



j'espère que ça passera...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 août 2005 à 15:56
en fait, quand on met des , c'est comme si il y avait plusieurs echo à suivre, alors que si on met des ., c'est une concatèntion qui s'exécute.

la concatènation est plus lente que les virgules.
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
24 août 2005 à 15:59
Le point concatène les chaînes de caract en une seule. Pis cette
dernière est envoyée en argument à la "fonction" echo. Par exemple :

echo "ouanne"."-"."tou"."-"."fri";

c'est comme si

$pouet = "ouanne"."-"."tou"."-"."fri";

echo $pouet;





La virgule sépare les élements qui doivent être afffichés. Par exemple :

echo "ouanne","-","tou","-","fri";

idem que (enfin idem dans l'idée seulement...)

echo "ouanne";

echo "-";

echo "tou";

echo "-";

echo "fri";



Note : echo n'est pas une fonction !!! (contrairement à print)
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
24 août 2005 à 16:03
Ou plus simplement dit par coucou747
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
24 août 2005 à 16:10
merci les gens

desoler de poster des questions deja posée, mais c'est le genre de truc pas evident a trouver quand on cherche.

_Marikou
0
Rejoignez-nous