RE: [PHP] Re: Using Logical OR operator in IF statement???
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???
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???
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???
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]