RE: [PHP] Re: Using Logical OR operator in IF statement???

2001-10-24 Thread Martin Towell

 if ((substr($sString,(strlen($sString)-1)!=-)) or

Looks to me that the bracketing is wrong...
try:
if ((substr($sString,(strlen($sString)-1))!=-) or

-Original Message-
From: Mark [mailto:[EMAIL PROTECTED]]
Sent: Thursday, October 25, 2001 11:12 AM
To: [EMAIL PROTECTED]
Subject: Re: [PHP] Re: Using Logical OR operator in IF statement???


 if (substr($sString,(strlen($sString)-1)!=-)) {

I think you meant either
substr($sString,strlen($sString)-2)
or
substr($sString,-1)

 print You can't have a dash at the end of your string.;
 }

 and this works:
 if (substr($sString,0,1)!=-) {
 print You can't have a dash at the beginning of your string.;
 }

 But, this doesn't work for any case:
 if ((substr($sString,(strlen($sString)-1)!=-)) or
 (substr($sString,0,1)!=-)) {
 print you can't have a dash at the beginning or end of your
string.;
 }

 What could be wrong?  I've used a logical OR operator in the
middle of an
IF
 statement like this before, but for some reason, this just isn't
working.
 Anyone got any ideas?  I suppose I can just evaluate this with two
different
 IF statements, but it seems like I shoud be able to do it in one
and
reduce
 duplicate code.  Thanks very much in advance.

 .Brad








-- 
Mark, [EMAIL PROTECTED] on 10/24/2001



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]



[PHP] Re: Using Logical OR operator in IF statement???

2001-10-21 Thread James, Yz

Hi Brad,

This worked for me:

?

if ((substr($sString, 0, (strlen($sString)-1) == -)) || (substr($sString,
0, 1) == -)) {
 echo you can't have a dash at the beginning or end of your string.;
}

?

.. but I'd tend to go for a regex as a solution to what you're after,
which involves less code:

?

if (preg_match(/^-|-$/s, $string)) {
 echo You cannot have a \-\ character at the beginning or end of your
string.;
} else {
 echo Whatever;
}

?

Just my thoughts...

James

Brad Melendy [EMAIL PROTECTED] wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
 Hello,
 Ok, this works:

 if (substr($sString,(strlen($sString)-1)!=-)) {
 print You can't have a dash at the end of your string.;
 }

 and this works:
 if (substr($sString,0,1)!=-) {
 print You can't have a dash at the beginning of your string.;
 }

 But, this doesn't work for any case:
 if ((substr($sString,(strlen($sString)-1)!=-)) or
 (substr($sString,0,1)!=-)) {
 print you can't have a dash at the beginning or end of your string.;
 }

 What could be wrong?  I've used a logical OR operator in the middle of an
IF
 statement like this before, but for some reason, this just isn't working.
 Anyone got any ideas?  I suppose I can just evaluate this with two
different
 IF statements, but it seems like I shoud be able to do it in one and
reduce
 duplicate code.  Thanks very much in advance.

 .Brad






-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] Re: Using Logical OR operator in IF statement???

2001-10-21 Thread Brad Melendy

Thanks James,
I tried a regular expression comparison first, but it was eluding me.  I'm
new to PHP (trying to convert form ASP) and part of this is me trying to
convert my ASP/VBSCRIPT to PHP.  ;-)  I actually have a FOR loop evaluated
when the conditions of the IF statement are met, and I suspect that is
messing things up.  Here's my entire code and I've used your expression
comparison instead but it still fails to find the - unless I split things
up and check either ONLY for the '-' at the beginning or the end, but not
both in the same line:

 function StringCheck($sString)
 {
 if (preg_match(/^-|-$/s, $sString))
  {
  for ( $counter=0; $counter  strlen($sString); $counter++ )
   {
   $nChar = ord(strtolower(substr($sString, $counter, 1)));
   if (($nChar  47 And $nChar  58) or ($nChar  96 And $nChar  123) or
($nChar == 45))
{
$result = TRUE;
}
   else
{
$result = FALSE;
break;
}
   }
  }
 else
  {
  $result = FALSE;
  }
 return $result;
 } //End Function StringCheck


Maybe you see something I don't.  I can't get over the fact that if I check
for just the front, or the end, it works, but if I check for both the front
and end of the string in the same line with the OR, it fails.  :-\  Thanks
in advance for any thing you might notice.

Brad

Yz James [EMAIL PROTECTED] wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
 Hi Brad,

 This worked for me:

 ?

 if ((substr($sString, 0, (strlen($sString)-1) == -)) ||
(substr($sString,
 0, 1) == -)) {
  echo you can't have a dash at the beginning or end of your string.;
 }

 ?

 .. but I'd tend to go for a regex as a solution to what you're after,
 which involves less code:

 ?

 if (preg_match(/^-|-$/s, $string)) {
  echo You cannot have a \-\ character at the beginning or end of your
 string.;
 } else {
  echo Whatever;
 }

 ?

 Just my thoughts...

 James

 Brad Melendy [EMAIL PROTECTED] wrote in message
 [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
  Hello,
  Ok, this works:
 
  if (substr($sString,(strlen($sString)-1)!=-)) {
  print You can't have a dash at the end of your string.;
  }
 
  and this works:
  if (substr($sString,0,1)!=-) {
  print You can't have a dash at the beginning of your string.;
  }
 
  But, this doesn't work for any case:
  if ((substr($sString,(strlen($sString)-1)!=-)) or
  (substr($sString,0,1)!=-)) {
  print you can't have a dash at the beginning or end of your string.;
  }
 
  What could be wrong?  I've used a logical OR operator in the middle of
an
 IF
  statement like this before, but for some reason, this just isn't
working.
  Anyone got any ideas?  I suppose I can just evaluate this with two
 different
  IF statements, but it seems like I shoud be able to do it in one and
 reduce
  duplicate code.  Thanks very much in advance.
 
  .Brad
 
 
 





-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] Re: Using Logical OR operator in IF statement???

2001-10-21 Thread Brad Melendy

Ok, it works!!  Thanks to everyone for their suggestions and answers.  This
group is a great resourse.  Thanks again

...Brad


Brad Melendy [EMAIL PROTECTED] wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
 Thanks James,
 I tried a regular expression comparison first, but it was eluding me.  I'm
 new to PHP (trying to convert form ASP) and part of this is me trying to
 convert my ASP/VBSCRIPT to PHP.  ;-)  I actually have a FOR loop evaluated
 when the conditions of the IF statement are met, and I suspect that is
 messing things up.  Here's my entire code and I've used your expression
 comparison instead but it still fails to find the - unless I split
things
 up and check either ONLY for the '-' at the beginning or the end, but not
 both in the same line:

  function StringCheck($sString)
  {
  if (preg_match(/^-|-$/s, $sString))
   {
   for ( $counter=0; $counter  strlen($sString); $counter++ )
{
$nChar = ord(strtolower(substr($sString, $counter, 1)));
if (($nChar  47 And $nChar  58) or ($nChar  96 And $nChar  123) or
 ($nChar == 45))
 {
 $result = TRUE;
 }
else
 {
 $result = FALSE;
 break;
 }
}
   }
  else
   {
   $result = FALSE;
   }
  return $result;
  } //End Function StringCheck


 Maybe you see something I don't.  I can't get over the fact that if I
check
 for just the front, or the end, it works, but if I check for both the
front
 and end of the string in the same line with the OR, it fails.  :-\  Thanks
 in advance for any thing you might notice.

 Brad

 Yz James [EMAIL PROTECTED] wrote in message
 [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
  Hi Brad,
 
  This worked for me:
 
  ?
 
  if ((substr($sString, 0, (strlen($sString)-1) == -)) ||
 (substr($sString,
  0, 1) == -)) {
   echo you can't have a dash at the beginning or end of your string.;
  }
 
  ?
 
  .. but I'd tend to go for a regex as a solution to what you're
after,
  which involves less code:
 
  ?
 
  if (preg_match(/^-|-$/s, $string)) {
   echo You cannot have a \-\ character at the beginning or end of your
  string.;
  } else {
   echo Whatever;
  }
 
  ?
 
  Just my thoughts...
 
  James
 
  Brad Melendy [EMAIL PROTECTED] wrote in message
  [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
   Hello,
   Ok, this works:
  
   if (substr($sString,(strlen($sString)-1)!=-)) {
   print You can't have a dash at the end of your string.;
   }
  
   and this works:
   if (substr($sString,0,1)!=-) {
   print You can't have a dash at the beginning of your string.;
   }
  
   But, this doesn't work for any case:
   if ((substr($sString,(strlen($sString)-1)!=-)) or
   (substr($sString,0,1)!=-)) {
   print you can't have a dash at the beginning or end of your string.;
   }
  
   What could be wrong?  I've used a logical OR operator in the middle of
 an
  IF
   statement like this before, but for some reason, this just isn't
 working.
   Anyone got any ideas?  I suppose I can just evaluate this with two
  different
   IF statements, but it seems like I shoud be able to do it in one and
  reduce
   duplicate code.  Thanks very much in advance.
  
   .Brad
  
  
  
 
 





-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]