salut,
je veux declarer une variable de cette forme :
j'ai essayer avec { } mais ca marche pasCode:colonne-code
merci d'avance
Version imprimable
salut,
je veux declarer une variable de cette forme :
j'ai essayer avec { } mais ca marche pasCode:colonne-code
merci d'avance
C'est malheureusement impossible, le caractère '-' est réservé.
Le seul moyen de contourner ça serait d'utiliser un tableau associatif:
Tu peux en revanche utiliser le caractère underscore '_' pour les noms de variables.Code:
1
2
3
4
5
6
7 $tab = array( 'test-a' => 'hello', 'test-b' => 'world' ); echo $tab['test-a'] . ' ' . $tab['test-b'];
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"};
Ca fonctionne bien .. :
Code:
1
2 ${ "colone-code" } = 'truc'; echo ${ "colone-code" }; // Affiche truc
merci de votre reponse,
en fait moi je veux declare une variable :
Code:
1
2 public $colonne-id;
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';
@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).