If you are a beginner to PHP, learning how to use control structures is a must. In this article Joel will assist you guys by providing coherent examples.
Control structures are beneficial when coding in PHP. Many tasks can be accomplished with a small amount of coding but basic understanding on how to use them will solve many coding problems.
What are Control Structures?
Control Structures are often referred to as Conditionals, Branching or their familiar name, "Loops".
Loops are great for retrieving information from databases, constructing tables and building dynamic pulldown menus.
Here is a list of the different types of conditionals in PHP:
- if/else
- if/elseif/else
- do/while
- for
- while
- foreach
The "if/else" conditional is the most commonly used statement in PHP coding.
View the following code:
<?php
$number ='5';
if($number =='3')
{
echo "The number is equal to 3";
}
else
{
echo "The number is equal to $number";
}
?>
Explanation of the code:
- The $number variable sets it's value to 5.
- If the $number variable is equal to 3 and becomes true the echo language construct displays the number is equal to 3. This statement is FALSE.
- Since the $number variable is really a value of 5 then it continues until it reaches the end of the conditional and displays The number is equal to 5. This statement is TRUE.
Extending the conditional with the "if/elseif/else" statement would allow more options.
View the following code:
<?php
$number = 7;
if($number == '5')
{
echo "The number is not equal to 7";
}
elseif($number <> '9')
{
echo "The number is not equal to 9";
}
else
{
echo "The number is equal to $number";
}
?>
Explanation of the code:
- The $number variable sets it's value to 7.
- If the $number variable is equal to 5, the echo language construct displays that its not equal to 7. This statement is FALSE.
- If the $number variable is not equal to 9, the echo language construct displays it is not equal to 9. This statement is TRUE.
- The second conditional is the true statement of the script and the script terminates.
Lets turn to "Loops" starting with the "for" conditional. The basic structure will continue looping until it resolves to FALSE.
Here is an example of the "for" conditional that builds a pulldown menu with the years specified by the variable $x and the operand on the right.
View the following code:
<?php
echo '<FORM ACTION="results.php" METHOD=post>';
echo '<SELECT name=year>';
echo"<OPTION VALUE=\"/\">Pick a year</OPTION>";
for($x = 1950; $x <= 2003; $x++)
{
echo "<OPTION VALUE=$x>$x</OPTION>";
}
echo "</SELECT></FORM>";
?>
Explanation of the code:
- A pulldown form is created complete with method and action.
- The variable, $year is specified but the values are not set.
- The top position on the pulldown menu is created using a forward slash to equal null and displays the "Pick a year" portion of the menu.
- The "for" loop counts from the first value, 1950 and loops until it reaches the value or year, 2003.
- The curly brace helps exit the loop and the closing tags finish the form.
The "while" conditional helps loop through the tables of a database to retrieve the information and display onto a page.
Here is an example of the "while" conditional creating a dynamic pulldown menu from a database:
<?php
include('config.php');
dbconnect();
$sql = SELECT DISTINCT(column_name) FROM $table_name;
$result = @mysql_query($sql);
echo "<FORM method=POST action=results.php>";
echo "<SELECT NAME=column_name>";
while($row = @mysql_fetch_array($result))
{
echo "<OPTION VALUE=\"$row[0]\">$row[0]</OPTION>";
}
echo "<INPUT TYPE=submit name=submit VALUE=\"Get Results\"></SELECT></FORM>";
?>
Explanation of the code:
- An include file holds functions and database related information used by the script. The script connects to the database and selects the table.
- The query selects the distinct column and narrows it down to the specified rows of the table.
- The query values are set and the form is created using the column name derived from the SQL commands.
- The "while" loop creates the pulldown menu and the row values are set.
Creating a pulldown menu that contains the months of the year would be bothersome using HTML. Using an array to hold the information and the "foreach()" statement helps speed things up in the long run.
View the following code:
<?php
$month = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novemeber", "December");
echo "<FORM METHOD=POST ACTION = results.php>";
echo "<SELECT NAME=column_name >";
echo"<OPTION VALUE=\"/\">Pick a Month</OPTION>";
foreach($month as $MON)
{
echo "<OPTION VALUE=\"$MON\">$MON</OPTION>";
}
echo "</SELECT></FORM>";
?>
Explanation of the code:
- An array is created with the names of all 12 months.
- The form is constructed with the method and action.
- The top position on the pulldown menu, labeled "Pick a Month" is created using a forward slash and it's value is set to null.
- The foreach construct extracts the values of the $month variable and produces the pulldown menu with each month's name.
- The curly brace helps exit the loop and the closing tags finish the form.
I hope this gives you an understanding of Control Structures and how to use conditionals to your advantage.
Happy coding and remember, "Let the code do the work".
Copyright 2003 - Written by Joel Philip - http://www.phpcollege.com
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |
More PHP Articles
More By Joel Philip
developerWorks - FREE Tools! |
This demonstration gives you an overview of IBM® Rational® Build Forge Express Edition, a global offering that provides a framework to automate and execute software processes. Rational Build Forge provides a software assembly line that can support all of your tools, technologies, and platforms so you can achieve a repeatable, reliable, and traceable build and release process. FREE! Go There Now!
|
|
|
|
Learn field-tested SOA principles, methodology, technology and implementation from the global SOA market leader - in a new e-book by an IBM SOA expert. Written by IBM Certified SOA Solution Designer Bobby Woolf, "Exploring IBM SOA Technology & Practice" is the ultimate insider's guide to SOA - a PDF e-book packed cover to cover with IBM's specific advice on how to make your SOA implementation a success. FREE! Go There Now!
|
|
|
|
Achieving true agility is a never-ending effort. We will showcase how you can become agile incrementally, a few practices at the time.Which practices should any agile team strive to adopt? What additional practices should you consider based on your needs to scale? Adopting practices are however made much easier with the right tool support. What about if your tools adapt to your practices? We will take a look at how the Jazz technology can be leveraged to make your process change the behavior of your tools. FREE! Go There Now!
|
|
|
|
You can now evaluate IBM Rational Asset Manager V7.0 online without installing or configuring it on your own system! Rational Asset Manager helps create, modify, govern, find, and reuse any type of development assets, including SOA and systems development assets. Rational Asset Manager helps you reduce software development costs and improve quality by facilitating the reuse of all types of software development-related assets. Visit developerWorks to learn more about this product and register to explore its capabilities online. FREE! Go There Now!
|
|
|
|
As businesses grow increasingly dependent upon Web applications, these complex entities grow more difficult to secure. Most companies equip their Web sites with firewalls, Secure Sockets Layer (SSL), and network and host security, but the majority of attacks are on applications themselves – and these technologies cannot prevent them. This paper explains what you can do to help protect your organization, and it discusses an approach for improving your organization’s Web application security. FREE! Go There Now!
|
|
|
|
Join the IBM Watchfire team for an informative discussion on techniques and best practices to proactively manage Web application security and how to effectively build application security testing into the software development lifecycle (SDLC). In this Software Delivery Platform webcast you will learn: How to better understand potential web application security vulnerabilities, best practices and how to effectively integrate application security testing into the software development lifecycle, the importance of detecting and removing software vulnerabilities during application development. FREE! Go There Now!
|
|
|
|
User communities play an important role in communication and collaboration around products, solutions and other areas of special interest to members. Successful communities are able to provide the right mix of content and services to deliver a value proposition that resonates with each audience. Join Tom Inman, VP of Marketing for Information and Platform Solutions as he introduces the new LeverageINFORMATION community. During this webcast, learn about the value provided by the community and how customers and partners derive value from the community in addressing their own technical and business challenges. FREE! Go There Now!
|
|
|
|
IBM Lotus Notes 8 provides a wide range of developers the ability to provide customized, integrated user interfaces via composite applications and via custom sidebar and toolbar plug-ins. This webcast provides you with tips and techniques to use with out-of-the-box capabilities of Lotus Notes 8, and survey how you can share useful components within your own company and within a larger community. FREE! Go There Now!
|
|
|
|
Explore how Rational and WebSphere software enable enterprise documentation in SOA environments. Specifically, a new integration between IBM WebSphere® Business Modeler and IBM Rational® Method Composer software can help technical writers more easily keep enterprise operations manuals in sync with changes that are made to business processes, resulting in more accurate and timely documentation that benefits the entire enterprise. FREE! Go There Now!
|
|
|
|
The unprecedented scope of a service-oriented architecture (SOA) initiative brings to the forefront a number of management and governance issues that were sidestepped in the past. The key to a successful SOA implementation is managing and governing activities throughout the entire SOA delivery lifecycle by ensuring that services conform to the needs of all of the business’s stakeholders. Learn how service lifecycle management allows the business to ensure that the process by which services are defined, created, tested, deployed, optimized and retired is manageable, repeatable and auditable. FREE! Go There Now!
|
|
|
|
All FREE IBM® developerWorks Tools! |