Re: Help with array / list looping syntax
| From: | Philip Olson | Date: | Wed, 30 Jun 2004 00:58:32 +0000 |
| Subject: | Re: Help with array / list looping syntax | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-189255@lists.php.net to get a copy of this message | ||
> > I need some help with a looping syntax. In english, "a" is used before
> > words that begin with consonants - "an" is used before words that start
> > with vowels. I'm trying to create a loop that checks this state and inserts
> > the correct word in the echo line. Below is the sloppy version of what I'm
> > trying to do...
> >
> > <?php
> > if (substr($table['field'], 0, 1)=="a") OR
> > (substr($table['field'], 0,
> > 1)=="e") OR (substr($table['field'], 0, 1)=="i") OR
> > (substr($table['field'], 0, 1)=="u") OR
> > (substr($table['field'], 0,
> > 1)=="y") }
> > echo 'Member has an ' . $table['field'] . ' who is...';
> > } else {
> > echo 'Member has a ' . $table['field'] . 'who is...';
> > }
> > ?>
> >
> > There's got to a cleaner way to do this. Perhaps using a list or array
> > containing the vowels and steping through it checking the first letter of
> > the field contents against each member of the list. But, I don't know how
> > to code this system. Please help.
> >
>
> How about this?
>
> $vowels = array('a', 'e', 'i', 'o', 'u');
> echo 'Member has a'.(in_array($table['field'][0], $vowels) ? 'n'
> :
> '').' '.$table['field'].' who is...';
Yet another solution (just for fun):
$vowels = 'aeiou';
if (false !== strpos($vowels,strtolower($table['field']{0}))) echo 'n';
Regards,
Philip