[PHP] - Array et concaténation de chaine

Résolu/Fermé
csmith35 Messages postés 48 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 1 mai 2013 - 11 mai 2009 à 10:37
csmith35 Messages postés 48 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 1 mai 2013 - 11 mai 2009 à 12:21
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.
A voir également:

2 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
11 mai 2009 à 12:00
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.. ;-)
0
csmith35 Messages postés 48 Date d'inscription mercredi 3 septembre 2008 Statut Membre Dernière intervention 1 mai 2013
11 mai 2009 à 12:21
Merci c'est nickel ;-}
Et beaucoup moins compliqué ...
0