vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Basics Of PHP [Part 2] (https://vborg.vbsupport.ru/showthread.php?t=59914)

MindTrix 01-07-2004 10:00 PM

Basics Of PHP [Part 2]
 
Statement's Tutorial



Introduction.



Ok, so i wrote The Basics Of PHP Tutorial a little while ago just too give people, well, the basics i guess :) This tutorial will help people learn just that little bit more and should help them on their way to understanding how some of the basic functions of PHP work :) Lets roll!!!



Why bother with Statements?



Using statements allow us to to do different tasks, depending on the result of one question from a piece of code.



The if Statement.



The if Statement is a very simple piece of code that looks like this when it is on its own



PHP Code:

if () 



Lets jump straight into an if statement piece of code, and then explain it as we go along.



Here is the code we shall use.



PHP Code:

 
<?php
 
$name 
"Liam";
 
if ( 
$name == "Liam" )
 
{
 
print 
"Yes that is correct, My name is $name";
 
}
 
?>



First we will note this symbol ==



It is known as a Comparison Operator. Its mission is simple.It checks that the LEFT is equivalent too the RIGHT, so basically both sides MUST be the same for it too continue.



Now, at the beginning we created a Variable called $name and assigned the string "Liam" too it.



Now inside the brackets of the if statement we place an expression to see what we will do next.



In the Second line we have the following code



PHP Code:

 
if ( $name == "Liam" 



So what are we doing here? Simple really, we are testing too see whether whatever is stored inside the Variable $name is exactly the same as "Liam"



After testing this we can only get Two possible answers. If what ever is stored inside $name is exactly the same as "Liam" PHP basically says TRUE.



If however the code inside $name does not match "Liam" PHP tells us FALSE.



Now then, the next code we see is

PHP Code:

 




After this tag, is where we tell PHP what too do if when we tested



PHP Code:

 
if ( $name == "Liam" 



Resulted in PHP telling us TRUE.



So basically, if PHP told us TRUE then it carrys on with the code after the
PHP Code:



symbol, however, if PHP tells us FALSE it just goes to sleep and does nothing :)


Now then after the { symbol we placed the code we wanted PHP too show us if $name was equal too "Liam" , in this case it was some simple text



PHP Code:

 print "Yes that is correct, My name is $name";) 



Which would simply display too us



Yes that is correct, My name is Liam



then finally we close the code with a

PHP Code:



tag.



Now, this is all fine if $name is equal too "Liam" but what if it wasnt?

Well quite simply, at the top of the code change



PHP Code:

 
$name 
"Liam";
 
Too
 
$name 
"Bob"



Now if you tried this in the Second line when it tests $name against "Liam" PHP would just turn around and say "Nope they are not the same so i will not do nothing" and simply, it wont it will sit there and be lazy and you will have a blank screen :)



This doesnt really help us much does it? We need more options!!! Well, say hello to Else.



The Else Clause.



The Else clause is simply an addition to the If statement to basically allow us to execute another piece of code if the first one is not shown.

Lets jump feet first in again and look at a full piece of script.

PHP Code:

<?php
 
$name 
"Liam";
 
if ( 
$name == "Liam" )
 
{
 
print 
"Yes that is correct, My name is $name";
 
}
else {
print 
"No, My name is $name";
}
?>


So lets explain, at the beginning we had the code that we had with the first if statement, but after telling PHP what code to print and closing the command with a } tag, we give PHP a second option, just incase $name did not equal "Liam" . We simply start the second option after the } tag by writting Else

We then decide PHP what too do by using the { symbol again and there we write what we want done. Come on its pretty simple to grasp you have to admit ;) Then we close the file as normal.

Now lets change the variable $name too "Bob" so

PHP Code:

$name "Liam";
 
Is now changed too
 
$name 
"Bob"

If we run the above ELSE code, with the variable changed as shown above, First in the if() statement PHP will check too see if $name == "Liam" and as we now know, it does not, so PHP will say "Nopes you two are not the same so i will do nothing", Then it gets a shock, it says "WAIT!!! Whats this? I see a ELSE written here, Oh wow i have another option!" So it goes onto the next option and does not have to check the variable name again, as we have not asked it too, it simply runs the code shown which was

PHP Code:

print "No, My name is $name"

So, it will diplay

No, My name is Bob

I'm sure i dont need to explain in anymore detail about this code as im sure no matter how short your knowledge is, you will understand it ;)

So, Now what i hear you cry!! Well the ELSE clause only allows us two options which is nice, but not brilliant huh :)

Ladys and Gentlemen, say hello to ElseIf

Using ELSE with IF


God you guys just cannot get enough can you?

Here is a Elseif piece of code.

PHP Code:

<?php
 
$name 
"Peter";
 
if ( 
$name == "Liam" )
 
{
 
print 
"Yes that is correct, My name is $name";
 
}
elseif ( 
$name == "Bob" )
{
print 
"My name is Bob";
}
else {
print 
"No, My name is $name";
}
?>

Now notice we have changed the variable $name too "Peter"

So first we have the if statement, checking $name against the name "Liam" , PHP decide they dont mach then moves onto the brand new Elseif statement.
Elseif is EXACTLY the same code layout as if. You can do a equivalance test ( $name == "Liam" ) once again, and decide code to run if it matches, Nice huh? Once again these do not match, so it moves onto the final ELSE statement, which we looked at a minute ago depending on how fast you read i guess :)

The Elseif ALWAYS goes after the if statement and before the ELSE statement. You can put as many Elseif statements as you wish

Sidenote : Elseif can be written as else if and elseif . They both have the same effect and the space makes no difference.


Well i believe that should be the end now :)

There are of course other codes similar too If // Elseif // Else statements,

They are Switch // ? operator // While // do...while // for

But that is wayyyyy too much writting for me :)

I hope you find this information helpfull in your quest for PHP Domination and i hope you found it enjoyable to read, as you can see i added some humour in there ;)

Oh and one more thing, Mist, Look no mistakes :) HORRAY!!! (Dont you dare prove me wrong :p)

NTLDR 01-08-2004 07:56 PM

Quote:

Originally Posted by MindTrix
PHP Code:


if ( $name "Liam" 


Shouldn't that be

PHP Code:

if ($name == 'Liam'

(== and not =)?

MindTrix 01-08-2004 08:00 PM

Ok ok one error isnt that bad is it? :) Thanks for pointing it out though.

Dean C 01-09-2004 03:33 PM

I always wonder why the first thing in PHP books isn't how to correctly use quotes in PHP :) Strings should be single-quoted and strings containing a variable should be double quoted :) If you know this now it'll help you on later ;)

MindTrix 01-09-2004 03:38 PM

Mist, please read the last couple of lines of my first post, Thank you, would be appreciated ;)

Marzas 01-14-2004 01:00 AM

Hey, great tutorial, should help alot of people.

Also, there is little type in the elseif php box, it says:

elseif ( $name =="Bob" )

you forgot to space it., but i cant blame ya, thats alot of typing, shesh!

cheerz

Marzas

MindTrix 01-14-2004 04:43 AM

Thanks for the comments Marzas.
As for the error that isnt one. You do not have to put spaces like that really, i just put them there to make it look more readable.

I'll still edit the post though and put the space in, Keep it all the same huh :)

Cheers.

sketch42 06-09-2004 01:30 AM

Quote:

Originally Posted by MindTrix
Thanks for the comments Marzas.
As for the error that isnt one. You do not have to put spaces like that really, i just put them there to make it look more readable.

I'll still edit the post though and put the space in, Keep it all the same huh :)

Cheers.

hey will there be anymore of these .... you have a fan MindTrix :)

MindTrix 06-09-2004 08:20 AM

hmmm never really thought about doing anymore, didnt think many people were that bothered about these two

sketch42 06-09-2004 08:55 AM

Quote:

Originally Posted by MindTrix
hmmm never really thought about doing anymore, didnt think many people were that bothered about these two

i would sooo love to see this come back.. it benefits everyone.... personally i would love to know and understand how to create a hack from scratch and that aint happening as im not too familiar witha ll the different wording ... please please pleeeeeeeeeeeease....... ill be your best friend :D

zahco 06-11-2004 09:38 AM

thanks a lot MindTrix
i have worked with (( if )) Statement codes om my computer server and all of them working good

best regards
zahco
http://www.arabswell.com/vb/

xTerMn8R 08-08-2004 03:01 PM

Hey it looks a lot like general if then else statements in HTML, is the if in PHP the same as HTML?

I think the time you take to type these tutorials is a real example of true dedication to coding and sharing open code. I commend you on ur efforts and also hope these types of post will continue, as they certainly help us cut and pasters get a better feel for coding our own ...

How bout a tutorial about how to do a eval on voting on a poll. ie. Users cant login to Site till ya vote on a certain poll...

Great work and thank you for you time ...

Guy G 12-12-2004 04:15 PM

will there be a part 3? a complex one? arrays and other stuff?

Michael Morris 12-14-2004 10:28 PM

Few things to keep in mind about if statements. First, and most important, is that they are the fundemental building block of all programming languages. PHP follows the formatting conventions of C++

Second, if clauses are supported in the XML templates, though their format is different

HTML Code:

<if condition=" "> Do This </if>
And Visual Basic and Javascript use yet a third format

Code:

IF condition THEN
    action
END IF

Master the principles of one and you should be able to apply it to the others with a little adjustment.

In the case of PHP the actions outlined between the {} brackets is carried out only if the statement evaluates to true. If it evaluates to false then the information is ignored.

PHP allows you to simply check if a variable is set. For instance

PHP Code:

if ($bbuserinfo)
{
echo 
'The variable $bbuserinfo has a value or is set as an array.'


If $bbuser info isn't set or hasn't been declared as an array at all this returns false.

You can set a variable specifically to true or false. Such a variable is known as a Boolean variable. If a variable isn't boolean and you check it then it returns true for all values but Null and 0, which return false.

Mindtrix went over == adequately, but you also can check for greater than (>), less than (<), greater than or equal to (>=), lesser than or equal to (<=). All of these are only useful if the compared variables are numeric - I'm don't know how they'll behave if strings are compared.

Examples

PHP Code:

if ($x $y)
{
echo 
'X is greater than Y';
}

if (
$x $y)
{
echo 
'X is less than Y';
}

if (
$x <= $y)
{
echo 
'X is less than or equal to Y'


Logical Operands

In in addition to the comparison operands, you will see frequent use of logical operands: NOT, AND, OR, and XOR. These allow you to test multiple conditions. For instance

PHP Code:

if ($x $y AND $a $b)
{
echo 
'$x is equal to $y and $a is equal to $b';


The and operand requires both sub-statements to evaluate "true" for the overall statement to evalutate true.

AND is often shorthanded as &&

OR evaluates true if either or BOTH the conditions are true.

PHP Code:

if ($x OR $y)
{
  echo 
'true';


If either X or Y is true, then the statement is true as a whole. If both are true the statement still holds. Only when both are false does the statement evaluate false.

OR is often shorthanded as ||

NOT reverses the value of the statement. For instance

PHP Code:

if (!$x == $y)
{
echo 
'X is not equal to Y';


Note this particular example is the same as the mathmetical operand != (not equal).

Not is always shorthanded "!" in PHP. In visual basic and Javascript you have to write it out.

XOR is shor for "Exclusive Or" It excludes the And result. It is logically equivalent to this.

PHP Code:

if (($x OR $y) AND !($x AND $y)) 

XOR evaluates as true if $x or $y is true, but evaluates false if $x AND $y are true. Of course, both XOR and Or evaluate false if both inputs are false.

The final example shows exactly how convoluted if statements can get. Sub-statements can be placed in parenthesis to set them apart.

Functions and If

If a function returns true or false then it can be used in an if statement. For example, the empty function checks to see if a variable is empty (or null). You can use it for a conditional.

PHP Code:

if (empty($x))
{
echo 
"X is empty";


One frequently used predefined function in vbulletin is is_member_of.

PHP Code:

is_member_of($X$Y

If the usergroup # in $Y is among the usergroups stored in $X, it returns true. It's a little easier to see in practice...

PHP Code:

if (is_member_of($bbuserinfo6))
{
echo 
"This is an admin";


The admin group is predefined in vbulletin and group #6. $bbuserinfo is the current user's information. $post is another variable that carries user information while posts are assembled.

Hope this flood of tidbits help.

paulomt1 12-19-2005 10:32 PM

Please, I need help with this:

This line of code is correct?
if (!defined (TABLE_PRX))
or must be:
if (!(defined (TABLE_PRX)))

Thank you

akanevsky 12-19-2005 11:26 PM

Quote:

Originally Posted by paulomt1
Please, I need help with this:

This line of code is correct?
if (!defined (TABLE_PRX))
or must be:
if (!(defined (TABLE_PRX)))


Thank you

Neither of these are correct. Use:
if (!defined('TABLE_PRX'))

paulomt1 12-25-2005 10:25 PM

Thank you for your help :-)

akanevsky 12-26-2005 01:17 AM

You are welcome.

evofile 04-20-2006 05:50 PM

thanks man the guide is very usefull
thank you

zooki 06-02-2006 05:20 PM

interesting thank you ;)

Bubble #5 06-19-2006 12:23 AM

Keep the tutes coming! :)

Demystifies php for non-coders :bunny:

Transverse Styles 06-19-2006 04:25 PM

You should point out that when using double quotes, PHP will attempt to evalute it as if there is a variable in there. For most of your examples you can use a single quote.


All times are GMT. The time now is 04:14 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07902 seconds
  • Memory Usage 1,852KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)bbcode_html_printable
  • (24)bbcode_php_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (22)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete