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]



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

2001-10-24 Thread Mark

>> 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 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]




[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 James, Yz

Hi Brad,

This worked for me:



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



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]