Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

Reply
 
Thread Tools
Basics Of PHP [Part 2]
MindTrix's Avatar
MindTrix
Join Date: Apr 2002
Posts: 1,833

Emcee and Nerd

United Kingdom
Show Printable Version Email this Page Subscription
MindTrix MindTrix is offline 01-07-2004, 10:00 PM

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 )
Reply With Quote
  #12  
Old 06-11-2004, 09:38 AM
zahco zahco is offline
 
Join Date: Aug 2003
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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/
Reply With Quote
  #13  
Old 08-08-2004, 03:01 PM
xTerMn8R xTerMn8R is offline
 
Join Date: Mar 2004
Posts: 116
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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 ...
Reply With Quote
  #14  
Old 12-12-2004, 04:15 PM
Guy G Guy G is offline
 
Join Date: Nov 2004
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

will there be a part 3? a complex one? arrays and other stuff?
Reply With Quote
  #15  
Old 12-14-2004, 10:28 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #16  
Old 12-19-2005, 10:32 PM
paulomt1 paulomt1 is offline
 
Join Date: Nov 2001
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #17  
Old 12-19-2005, 11:26 PM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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'))
Reply With Quote
  #18  
Old 12-25-2005, 10:25 PM
paulomt1 paulomt1 is offline
 
Join Date: Nov 2001
Posts: 82
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you for your help :-)
Reply With Quote
  #19  
Old 12-26-2005, 01:17 AM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are welcome.
Reply With Quote
  #20  
Old 04-20-2006, 05:50 PM
evofile evofile is offline
 
Join Date: Feb 2006
Location: Flushing, NY
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks man the guide is very usefull
thank you
Reply With Quote
  #21  
Old 06-02-2006, 05:20 PM
zooki zooki is offline
 
Join Date: May 2006
Location: uk
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

interesting thank you
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:21 AM.


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.04591 seconds
  • Memory Usage 2,353KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (1)bbcode_html
  • (22)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete