[PHP] - Array et concaténation de chaine [Résolu/Fermé]

Signaler
Messages postés
48
Date d'inscription
mercredi 3 septembre 2008
Statut
Membre
Dernière intervention
1 mai 2013
-
Messages postés
48
Date d'inscription
mercredi 3 septembre 2008
Statut
Membre
Dernière intervention
1 mai 2013
-
Bonjour,

Voilà ce que je fais aujourd'hui

$inclure=array('home'=>'accueil.php','page1'=>'page1.php');
if (!empty($_REQUEST['rub']))
{$rub=$_REQUEST['rub'];}
else
{$rub='home';}
if (!empty($inclure[$rub]))
{require($inclure[$rub]);}
else
{require ('recherche.php');}
?>
Cela fonctionne très bien, mais je souhaite faire ceci et cela ne fonctionne pas

$array= "'home'=>'accueil.php'";
$array.= ",";
$array.= "'page1'=>'page1.php'";

$inclure = array($array);

if (!empty($_REQUEST['rub']))
{$rub=$_REQUEST['rub'];}
else
{$rub='home';}
if (!empty($inclure[$rub]))
{require($inclure[$rub]);}
else
{require ('recherche.php');}
?>

Je ne trouve pas d'où vient le problème.

2 réponses

Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
821
Es-tu sûr que la fonction array() est capable d'interpréter une chaîne de caractère ?
$array= "'home'=>'accueil.php'";
$array.= ",";
$array.= "'page1'=>'page1.php'";

$inclure = array($array);

Je ne suis pas sûr que $inclure contient, dans cette façon de faire, la même chose que dans la première que tu présente.

Pour vérifier son contenu ajoute une ligne var_dump($inclure); juste après celle que je viens de te mettre en gras pour afficher son contenu.

Pourquoi ne pas simplement faire comme ça ? :
$inclure["home"] = "accueil.php";
$inclure["page1"] = "page1.php";

C'est bien plus propre.. ;-)
Messages postés
48
Date d'inscription
mercredi 3 septembre 2008
Statut
Membre
Dernière intervention
1 mai 2013

Merci c'est nickel ;-}
Et beaucoup moins compliqué ...