Sry mayb its my poor english or maybe you should post some of your code to clarify your question, because you lost me right now..
And when it comes down to efficiency i think that cases and if statements have the same efficiency and that it wont be any bytes longer in the resulting exe when you use if statements...
But in the end a if statement does the same as a case you can have several if statement and after that you use an else statement (and then you have the same as if you would use a case with default ).
Anyhow some code would make sense i guess (for me although).
::edit::
i might have just seen "the light".
I guess , because i dont know any php, you just need something like this .
Code:
int button[BUFSIZE];
/*do something with the a you are talking about to determine the value of a*/
/*of course you would have some values stored in te array button*/
/* now you say , for instance a=0*/
printf("%d",button[a]);
/* this will print the value of the first element in the array button*/
i gotta jet laterz,
::/edit::
Ganglylamb.