2010-07-26 105 views
1

我为图像上的某些文本设置了间距结构。所以我必须为每个字母(大写和小写)的每个字母设置一个$ s值,这样就是52个语句。更好的“if语句”结构

如果我走这条路的ELSEIF语句列表将是巨大的......

是否有更好的方法来做到这一点,以帮助缩短用于查找取决于$ $的价值代码char值?

谢谢。

+0

如果不知道if语句里面的内容是不可能的。发布一些代码。你可以做一个大的SWITCH语句;或者您可以使用字符的int值在没有IF或SWITCH的情况下进行一些数学运算。 – NotMe 2010-07-26 14:51:33

+0

您是否可以在此处或在Github Gist(或类似的)上显示代码来演示它是什么,再次遇到麻烦?我不认为52声明是要走的路......听起来更像是一个开关/箱可以在这里工作,或者在52个元素的阵列中查找间隔? – kander 2010-07-26 14:52:18

回答

9

使用关联数组:

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

这是一些[文档](http://php.net/manual/en/language.types.array.php)。 – NullUserException 2010-07-26 14:53:13

0

我可能会误会你希望什么来完成,但不能你只需要使用等宽字体,或者是,这里不是一种选择?然后你知道间距,每个角色都是一样的。