Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In the last movie, we learned about basic logical expressions using if else and else if. Now, I want us to talk about the expression part of that, the part that evaluates to true to false. And I want us to enhance our ability to work with that to generate some more complex expressions. And to do that, we're going to have to learn about comparison and logical operators. In the previous example, we said if A is greater than B, or if A is less than B. Less than and greater than are comparison operators. But there are a number of other ones that we can use as well. One of the most important ones, is equal. Are two things equal? Compare them. Is A equal to B? It's made up of two equal signs. When we're testing if something is equal, we use it by using two equal signs. So, when we have one equal sign, we're doing assignment. We're assigning a value to something.
When we have two of them, we're comparing the two. It's important to keep the two straight. One is for assignment, two is for comparison. We also have another version, which is three. Together which if for identical. Now, what's the difference between equal and identical? Well, there are some things that are considered equal because they're roughly equal. For example, the number 1, 2, 3 is considered equal to the string. One, two, three. Because if we convert the types, then they are considered equal but they are not considered identical.
Identical, they have to be of the same type as well. So, it just goes a little bit further in the check to make sure that they are absolutely 100% the same. Most times, you're going to find yourself just using equal though, with two of them. There's also comparison, we saw the greater than, less than. There is a greater than or equal to, or less than or equal to. Or there's it either less than or greater than. And of course, if we're going to do not equal to, we can also just simply say not equal using exclamation point equal. That exclamation point is going to mean not in PHP. We're going to see that again later on.
And then, of course, we also have not identical, which would be not followed by two equals signs. Notice that in each case, for equal and identical, what we're doing is replacing the first equal sign with that exclamation point. Now, in addition to using these to construct a single expression. To say is this equal to that or is this greater than that or this not equal to that. We also can combine several of these together by using some logical operators. So, for example, for and we can use two ampersands together.
What we're saying here is if A is greater than B, and if C is greater than D. They're testing two different things and combining them with this &. Both parts of it have to be true. If this is true and this is true, then the whole expression evaluates to true. We also have or that's made of these two upright bars, often called Pipes. Take a second to figure out where that is on your keyboard. It's typically right above the Return key. And this would be a logical or. So, if a is greater than b, or if c is greater than d. And then, of course, as we talked about, there's not. So, something is just not true, we can negate the expression just by putting the exclamation point in front of it.
It's basically just flips it around to be the opposite. Let's try a few example. Let's start just by opening up basic.html, and we'll do a save as. I'm going to call this one operators.php. And it's going to contain both our comparison operators and also our logical operators. Let me just drop down here in the body and I'll give you the first example. You can pause them if you need to copy this down. I've got a is equal to 4, b is equal to 3.
c is equal to 1 and d is equal to 20. Notice that those are assignments, using the single equal sign. Then, I've got my expression here. If a is greater than b, notice that I'm using parentheses around it to group it together, and if c greater than d. So, if both of those conditions are met, this and this, then this entire expression will evaluate to true. Because both parts have been met. So, both trues together mean that the whole thing is true. If either one is false, well then it's not a true statement. It's not true that both a is greater than b and c is greater than d. So, it evaluates to false.
So, let's just try this out. Let's bring this up in our browser. And instead of logical, we're going to go to operators. And you'll see that nothing is output. The reason why, a is greater than b. But c is not greater than d. So, let's just swap those real quick. We'll go back and try it again. There it is, a is larger than b, and c is larger than d. So, we can do the same thing with logical or by just putting in, the or and I'll just change this as well. So, now either one is true. If a is greater than b or c is greater than d. If either one of those is true, then it will work. Let's just flip this back to what didn't work before, right? So now, one of them is true, a is greater than b. But c is not greater than d.
Let's go back and reload it. So a is larger than b, or c is larger than d. That's what it output for us. So, as I said, we can also use some different comparison operators. We can say that one thing is equal to something. Something is equal to that. We can feel free to play around with those, and try different values. And see what you're going to get back. Let's try a, a real world example. I'm going to do one here for if and I'm going to use the not, right? The exclamation point, that means not the case. If isset, and I'll make it e. If not isset, right? That's the opposite. If it's not set, then we are going to set e equal to 200, then let's just echo back the value of e.
I'll put a br tag here just so it separates it out, so let's try this. Let's see if it inputs something for e. Switch back 200. Now, let's experiment here. Let's set e up here as well. Let's set e here equal to 100, okay? Let's go back and try it again. Now it's equal to 100, because it got here and it said oh, it's already been set. So, I don't need to give it a default value. This is a good way to set default values. If something's not set, well then set it.
Let's do another good, real world example here. Let's do one with empty. We talked about empty, and I said you have to be really careful when you're using empty. Let's say that we have a form coming in, and we don't want to reject zero or 0.0 as being invalid values. Well, we can say if the quantity entered is empty and if it is not numeric, then we say, you must enter a quantity. But if they've given us empty but it is numeric, right? It fails this part of it, then it's probably a zero or 0.0, and we'll allow it through. Let's just try real quick, quantity, and let's just set that equal to zero. And we'll add another br tag here just to separate it out nicely. There it is.
It didn't respond to it, but if we said for example that it was a blank string. Now, we go back rewrote it since you must enter a quantity. There's also the powerful combinations that can be made here. You can nest different logs. You want to use parentheses to help you group those together so that you can keep them straight. So, while these comparison operators and logical operators are really simple in themselves, they combine to develop some really powerful expressions. We can keep stringing them together, we can nest them inside each other, so that if all sorts of conditions are met. If the final evaluation is either true or false, we'll decide whether or not we execute some code.
And that's going to be a powerful thing.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.