2011-04-19 6 views
1

Je suis en train de créer un site web avec un album photo. Le site en 2 langues, anglais et néerlandais. Je fis donc le fichier de langue comme:

$lang['hello'] = 'Hallo'; //Hallo is hello in dutch 

Avec l'album photo que je suis en train d'utiliser le même principe comme:

$lang['discription_001'] = 'photo of a house'; 

Avec montrant les images que je fait une contre, maintenant je veux utiliser la même compteur dans le dispription comme ceci:

echo $lang['discription_'$counter] 

Et $counter étant 001 pour le numéro de photo un. Cependant, cela ne fonctionne pas, quelqu'un pourrait dire comment je pourrais obtenir ce travail, ou toute autre méthode pour obtenir ce que je veux.

Merci à l'avance, Thomas de Zeeuw

post-scriptum Je suis nouveau en PHP, mais normalement je prends les choses assez vite, alors faites quelques explications.

+0

echo $ lang ['discription_'. $ counter]; –

Répondre

6

Vous y êtes presque:

echo $lang['discription_' . $counter] 

Le . est l'opérateur de concaténation de PHP, pour combiner les chaînes.

+0

Je l'ai eu à travailler maintenant, toujours pas sûr de ce que j'ai fait mal avant, mais merci beaucoup! –

6

Vous avez juste oublié le string concatenation operator . concaténer 'discription_' et la valeur de $counter:

$lang['discription_'.$counter] 
+0

J'ai oublié le. , Merci pour ça. Cependant maintenant je reçois: erreur de syntaxe, inattendue T_VARIABLE, s'attendant à ']' comme erreur. Et merci pour la réponse très rapide –

+0

@Thomas de Zeeuw: Alors la cause de cette erreur est ailleurs. – Gumbo

4

Vous avez une faute de frappe.

echo $lang['discription_'$counter] 

Devrait être

echo $lang['discription_' . $counter]; 
1

est $counter une chaîne ?? Dans ce cas votre exemple devrait fonctionner correctement si vous corriger l'erreur d'analyse syntaxique (Vous avez manqué l'opérateur de concaténation (.).

Il serait beaucoup mieux si vous nous montriez code réel de votre application.

echo $lang['discription_' . $counter];

2

Vous pouvez le faire fonctionner par une simple réparation de votre code:

echo $lang['discription_'.$counter]; 

ou

echo $lang["discription_{$counter}"]; 
0

Comme vous avez déjà obtenu des réponses, vous avez oublié l'opérateur de concaténation, mais mieux dans mon esprit serait d'utiliser un tableau multidimensionnel.

echo $lang['descriptions'][$counter];