> -----Original Message-----
> From: Lazor, Ed [mailto:[EMAIL PROTECTED]]
> Sent: 17 June 2002 21:24
> To: 'Chris Knipe'; [EMAIL PROTECTED]
> Subject: RE: [PHP] substr?
> 
> 
> Here's another way of writing that code that may be easier to 
> work with:
> 
> $TestValues = array("072", "073", "082", "083", "084");
> $NumC = $substr($_POST['NumC'], 0, 3);
> if (in_array($NumC, $TestValues))
>       $FormError = "True";

And here's another:

  switch substr($_POST'NumC'], 0, 3):
  case '072':
  case '073':
  case '082':
  case '083':
  case '084':
    // acceptable -- do anything appropriate here
    // (even nothing, if that's what you want!)
    break;
  default:
    // not acceptable
    $FormError = "True";
  endswitch;

Incidentally, why are you setting the variable $FormError to the string "True", rather 
than the Boolean TRUE?  You may have a perfectly ggod reason, but it looks odd to my 
eyes.  If a Boolean would be acceptable, you could also write it like this:

  $NumC = substr($_POST'NumC'], 0, 3);
  $FormError = $NumC!='072' && $NumC!='073'
               && $NumC!='082' && $NumC!='083' && $NumC!='084';

or:

  $FormError = !in_array(substr($_POST'NumC'], 0, 3),
                         array('072', '073', '082', '083', '084'));

> > -----Original Message-----
> > From: Chris Knipe [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, June 17, 2002 12:19 PM
> > 
> > So what's the difference between
> >  if (!(($blah == blah) OR ($ab == ab))) {
> > and
> >  if ((!$blah == blah) OR (!$ab == ab)) {

Well, as you've written it, a hell of a lot!!  I assume you meant the second version 
to be:

   if (!($blah == blah) OR !($ab == ab)) {

> > Shouldn't they both do the same?  And if so, why didn't they 
> > in this case??

No, they absolutely shouldn't.  Think about it: the first ORs the two comparisons, and 
then takes the NOT of that; the second NOTs both comparisoons, then does the OR.  It's 
the same sort of reason why

   $x = -1 * -2;

is not the same as

   $x = -(1 * 2);

When working with Boolean expressions in this way, deMorgan's laws often come in 
handy; these state that:

     !a AND !b    is the same as     !(a OR b)
     !a OR !b     is the same as     !(a AND b)

Hope this helps!!

Cheers!

Mike

---------------------------------------------------------------------
Mike Ford,  Electronic Information Services Adviser,
Learning Support Services, Learning & Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Beckett Park, LEEDS,  LS6 3QS,  United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730      Fax:  +44 113 283 3211 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to