Les Allergies
Alimentaires
Posez votre question Signaler

Concaténation constante PHP [Résolu]

manuelmalin - Dernière réponse le 1 sept. 2010 à 09:49
Bonjour,
J'ai un petit souci avec les constantes de PHP ; j'ai définit plusieurs constantes :
define('_MA_CONSTANTE_1','contenu de ma constante n°1') ;
define('_MA_CONSTANTE_2','contenu de ma constante n°2') ;
define('_MA_CONSTANTE_3','contenu de ma constante n°3') ;
Maintenant j'aimerais d'après 2 variables afficher une constante bien précise :
$constante = '_MA_CONSTANTE_' ;
$numero = '2';
$contante_numero = $constante.$numero ;
echo $contante_numero ; donne : _MA_CONSTANTE_2
Comment faire pour afficher le contenu de la constante _MA_CONSTANTE_2 avec cette variable $contante_numero ?
Merci,
a+
Manu
Lire la suite 

Concaténation constante PHP »

10 réponses
Réponse
+3
moins plus
Salut,

Je recherchais la même chose que toi et je suis tombé sur ce sujet. Après une recherche plus poussée ailleurs j'ai trouvé ça : http://be.php.net/manual/fr/function.constant.php

Il est sans doute trop tard pour toi mais comme ça les prochains qui trouveront ce sujet auront leur réponse :-)

Bon courage.
Bibi - 22 mars 2010 à 09:57
Effectivement, tu as raison, ta réponse m'a été TRES utile ! Une fonction que je ne connaissais pas et que je n'oublierai pas ! :) Un GRAND merci à toi !
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,
bien que très tardive, voici la solution au premier problème

Rappel des données du problème

define('_MA_CONSTANTE_1','contenu de ma constante n°1') ;
define('_MA_CONSTANTE_2','contenu de ma constante n°2') ;
define('_MA_CONSTANTE_3','contenu de ma constante n°3') ;

$constante = '_MA_CONSTANTE_' ;
$numero = '2';

obtenir la valeur d'une constante (la seconde ici) par concaténation des variables $constante et $numero

Solution:
utiliser la fonction php constant, soit
$resultat = constant($constante.$numero);
(équivalent à $resultat=("_MA_CONSTANTE_".$numero)

//$resultat aura donc pour valeur "contenu de ma constante n°2"



En espérant que ça serve à quelqu'un.
Bon vent
Ajouter un commentaire
Réponse
+0
moins plus
define('TEXT_CONST', "Bonjour les amis");

$concatenation = TEXT_CONST." ici le père Noel qui vous parles !!!";
$concatenation .= "\nHoHoHo";

echo $concatenation;


En gros tu auras compris que pour définir une constante on met bien des guillemets 'NOM_CONST' mais que pour l'appeller, on ne les mets plus sinon c'est comme si tu concaténait du texte et non le nom de la constante.

Bonne continuation.
manuelmalin - 27 déc. 2008 à 01:39
Salut,

Merci pour ta réponse, mais ce n'est pas vraiment ce que j'attendais.

Je ne suis pas sur d'avoir été très clair, en fait, en suivant mon exemple, à la fin, après la constitution de mon nom de constante contenu dans $constante_numero à l'aide des 2 variables $constante et $numero, je veux pouvoir faire :

echo _MA_CONSTANTE_2 ;

et avoir pour résultat : contenu de ma constante n°2

Je suis plus clair là ? :O)

D'avance merci, et à bientôt,
Manu
Ajouter un commentaire
Réponse
+0
moins plus
Ah oui je n'avais pas bien compris désolée, voici qui devrait d'aider (par contre j'ai jamais essayé avec des constantes je ne pense pas que ça soit possible, mais bon tu peux aussi utiliser des simples variables ;) ) :

Variables dynamiques :

<?php
$ma_variable_1 = "Variable n°1";
$ma_variable_2 = "Variable n°2";
$ma_variable_3 = "Variable n°3";

for($i = 1; $i <= 3; $i++)
{
	echo "\n".${'ma_variable_'.$i}."<br />";
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
Oui voilà c'est ca, mais la même chose pour les constantes, c'est sur ca n'existe pas ? :'(
Ajouter un commentaire
Réponse
+0
moins plus
Aucune idée, du moins je n'en ai jamais entendu parler, et vut comment ça fonctionne je pense que ça n'existe pas, ou alors il faut procéder autrement ;)
manuelmalin - 27 déc. 2008 à 21:37
Merci à toi, je vais procéder autrement :)

Sinon, je cherche aussi le moyen de définir moi même mon PHPSESSID, est-ce possible ?

Apparemment avec session_id(1234); j'affecte bien 1234 au SID mais la session ne fonctionne pas.

a+
Manu
manuelmalin - 27 déc. 2008 à 21:59
Oups, si en fin de compte, ca fonctionne ;)

a+ et merci encore !!
Ajouter un commentaire
Ce document intitulé « Concaténation constante PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?