Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

cle de tableau sans quote

1 view
Skip to first unread message

luc2

unread,
Jun 18, 2009, 10:29:50 AM6/18/09
to
sur certaines versions de php, on peut faire :

$tableau[cle]

sur d'autres, c'est refuse. il faut faire :

$tableau["cle"]

ce que je voudrais savoir, c'est a partir de quelle version de php c'est
comme ca, et s'il y a un moyen d'autoriser l'ancienne syntaxe avec une
option de php.ini

Olivier Miakinen

unread,
Jun 18, 2009, 10:46:54 AM6/18/09
to
Le 18/06/2009 16:29, luc2 a ᅵcrit :

> sur certaines versions de php, on peut faire :
>
> $tableau[cle]
>
> sur d'autres, c'est refuse. il faut faire :
>
> $tableau["cle"]
>
> ce que je voudrais savoir, c'est a partir de quelle version de php c'est
> comme ca,

ᅵ ce que je crois, ᅵa a *toujours* ᅵtᅵ comme ᅵa. Utiliser une constante
non dᅵfinie ᅵ la place d'une chaᅵne de caractᅵres a toujours fait
ᅵmettre une alerte de type E_NOTICE tandis que cette constante ᅵtait
remplacᅵe par la chaᅵne de caractᅵres.

La diffᅵrence ne doit donc pas tenir au numᅵro de version, mais plutᅵt ᅵ
une valeur diffᅵrente de error_reporting :
http://fr3.php.net/manual/fr/errorfunc.configuration.php#ini.error-reporting

> et s'il y a un moyen d'autoriser l'ancienne syntaxe avec une
> option de php.ini

Remettre error_reporting ᅵ E_ALL & ~E_NOTICE au lieu de E_ALL ? Cela
dit, c'est quand mᅵme une mauvaise idᅵe de ne pas corriger les scripts.

Une correction intermᅵdiaire serait de dᅵfinir ceci au dᅵbut des scripts
qui en ont besoin, pour chacune des valeurs en question :
define("cle", "cle");

John GALLET

unread,
Jul 2, 2009, 12:59:33 PM7/2/09
to
Bonjour,

> ᅵ ce que je crois, ᅵa a *toujours* ᅵtᅵ comme ᅵa.

Non, en PHP 3 au moins et probablement au dᅵbut de PHP 4 on te
permettait de faire attention tout seul ᅵ la syntaxe de tes variables et
leur dᅵclaration. Mais ᅵa date tellement de mathusalem que ton "toujours
ᅵtᅵ" est tout ᅵ fait cohᅵrent.

> Une correction intermᅵdiaire serait de dᅵfinir ceci au dᅵbut des scripts
> qui en ont besoin, pour chacune des valeurs en question :
> define("cle", "cle");

La vraie question ᅵ se poser c'est surtout si $tableau[cle] est une
mauvaise syntaxe oᅵ si on voulait effectivement dᅵfinir une constante
appelᅵe cle et s'en servir de clef (ce qui est tout ᅵ fait lᅵgitime).

Sᅵquence enculage de mouches: on pourrait mᅵme plutᅵt ᅵcrire
$tableau['cle'] que $tableau["cle"] sauf si on a l'intention de jouer
avec des clefs de nom dynamique comme $tableau["cle$toto"].

Bzz.
JG

0 new messages