Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2011, 13h44   #1
Membre régulier
 
Avatar de moukit233
 
Développeur informatique
Inscription : mai 2009
Messages : 227
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2009
Messages : 227
Points : 84
Points : 84
Envoyer un message via AIM à moukit233 Envoyer un message via MSN à moukit233 Envoyer un message via Yahoo à moukit233
Par défaut echappement de - php5

salut,
je veux declarer une variable de cette forme :

j'ai essayer avec { } mais ca marche pas

merci d'avance
__________________
«En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
Albert Einstein.
moukit233 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 13h53   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
C'est malheureusement impossible, le caractère '-' est réservé.

Le seul moyen de contourner ça serait d'utiliser un tableau associatif:
Code :
1
2
3
4
5
6
7
 
$tab = array(
  'test-a' => 'hello',
  'test-b' => 'world'
);
 
echo $tab['test-a'] . ' ' . $tab['test-b'];
Tu peux en revanche utiliser le caractère underscore '_' pour les noms de variables.

Edit: Aussi curieux que cela paraisse, cette limitation n'a pas cours dans ce cas:
Code :
1
2
3
4
5
6
7
 
$a = "colone-code";
 
$$a = "test";
 
echo $$a;
echo ${"colone-code"};
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 14h10   #3
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
Ca fonctionne bien .. :

Code :
1
2
${ "colone-code" } = 'truc';
echo ${ "colone-code" }; // Affiche truc
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 09h40   #4
Membre régulier
 
Avatar de moukit233
 
Développeur informatique
Inscription : mai 2009
Messages : 227
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2009
Messages : 227
Points : 84
Points : 84
Envoyer un message via AIM à moukit233 Envoyer un message via MSN à moukit233 Envoyer un message via Yahoo à moukit233
merci de votre reponse,

en fait moi je veux declare une variable :
Code :
1
2
 
public $colonne-id;
__________________
«En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
Albert Einstein.
moukit233 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 10h02   #5
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
La syntaxe des accolades pour les variables est utilisée pour les variables dynamiques. La déclaration d'une propriété d'une classe ne peut pas être dynamique en PHP contrairement à certains langages, donc l'utilisation des accolades est incorrecte dans ce cas précis.

Si tu ne peux pas la déclarer dynamiquement, rien n'empêche cependant d'utiliser une propriété dynamique (sans l'avoir déclarée) dans une méthode de la classe comme ceci :

Code :
$this->{ 'colonne-code' } = 'truc';
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 13h45   #6
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 139
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 139
Points : 2 884
Points : 2 884
@moukit233, ce qu'on essaye de te faire comprendre, c'est que ce n'est pas possible. Déclares ta variable avec un autre nom (qui ne contient pas de tiret).
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h41.


 
 
 
 
Partenaires

Hébergement Web