Bonjour,

Voila je rencontre un petit problème de... non savoir.

Ce que je fais

J'ai une std class de ce type

stdClass Object
(
    [ida] => 21
    [titre_fr] => Titre en FR
    [date] => 20160124
    [dateend] => 20161231 
    [prolongation] => 
    [texte_fr] => Titre en FR
    [titre_en] =>Titre en EN
    [texte_en] => Texte en EN
)

Ce que je veux

J'ai un programme de détection de langues qui permet de récupérer la langue du navigateur ou du choix de la personne
j'ai donc un FR en variable nommée $var

Je voudrais donc afficher le titre en fr quand je suis en FR

Là ou je bloque

pour l'affichage je fais

foreach ($actualites as $k=>$v) {
        echo $v->texte_$var
}

bien évidement, ce code ne fonctionnement pas mais je ne sais pas comment l'écrire correctement...

Merci d'avance pour votre aide sur ce petit désagréement bien embêtant ^^

Bonne soirée

5 réponses


Carouge10
Réponse acceptée

alors il faut quelque chose de dynamique:

foreach ($actualites as $k=>$v) {
        $texte = "texte_".$var;
        echo $v->$texte;
}

je n'ai pas la solution à proprement parlé mais peut être que ceci pourrait faire l'affaire :

foreach ($actualites as $k=>$v) {
        if ($var == 'fr') {
            echo $v->texte_fr;
           } else {
            echo $v->texte_en;
           }
}
fderoeux
Auteur

non malheureusement cela ne va pas être simple car beaucoup de langues et donc assez "lourd" à faire
Merci quand même pour cette solution ^^

fderoeux
Auteur

Merci c'était tellement simple....

L'idée logique serait d'utiliser un tableau associatif
Titre['fr'] << titre FR
ou encore
traductions['fr']['Titre'] << titre FR