2010-07-26 6 views
1

Je configure une structure d'espacement pour du texte sur une image. Donc, je dois définir une valeur de $ s pour chaque lettre de l'alphabet (majuscule et minuscule) de sorte que ce soit 52 déclarations.Meilleure structure "if statement"

Si je cette voie la liste des elseif va être énorme ...

est-il une meilleure façon de le faire pour aider à raccourcir le code qui trouve la valeur de $ selon le $ valeur de char?

Merci.

+0

Il est impossible de dire sans savoir ce qu'il y a dans les instructions if. Publiez du code. Vous pourriez être en mesure de faire une grande déclaration SWITCH; ou vous pouvez utiliser la valeur int du caractère pour faire des calculs sans IF ou SWITCH. – NotMe

+0

Pourriez-vous montrer le code, soit ici, soit sur un Github Gist (ou similaire), pour montrer de quoi il s'agit? J'ai des problèmes avec? Je ne pense pas que 52 déclarations est la voie à suivre ... ressemble plus à un Switch/Case fonctionnerait ici, ou en regardant l'espacement dans un tableau de 52 éléments? – kander

Répondre

9

Utilisez un tableau associatif:

$map = array('a' => 'value', 'b' => 'other value', ...); 
$char = 'a'; 
$settingForChar = $map[$char]; // value 
+0

Voici quelques [documentation] (http://php.net/manual/fr/language.types.array.php) dessus. – NullUserException

0

je peux être mal compris ce que vous espérez accomplir, mais vous ne pourriez pas simplement utiliser une police à espacement fixe, ou est-ce pas une option ici? Ensuite, vous connaissez l'espacement, c'est la même chose pour tous les personnages.