Matthew M.

Matthew M.

More Conditional Control Structure

Slide Duration:

Table of Contents

Course Introduction

12m 13s

Intro
0:00
What Is PHP?
0:12
PHP Hypertext Preprocessor
0:13
Why Learn PHP?
1:09
Why Learn PHP?
1:10
Web Application: Educator Store
2:25
Web Application: Educator Store
2:26
Example of Web Application
3:18
PHP in the Educator Store
7:12
Dynamic Content Generation
7:22
Ease of Website Maintenance
7:55
Form Input Processing and Access to Advanced Functionality
9:00
What You Will Learn
9:36
What You Will Learn
9:37
Who Is This Course For?
10:56
Who Is This Course For?
10:57
How PHP & The Web Work

15m 32s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Client-Server Model
0:53
Client-Server Model
0:54
HTTP Protocol
2:15
Definition of Protocol
2:16
Hypertext Transfer Protocol (HTTP)
2:37
Uniform Resource Locators
3:46
Uniform Resource Locators (URLs)
3:47
Form of URLs
4:13
Accessing Webpages with URLs
5:13
Serving Webpages
6:14
Serving Webpages, Client Machine, and Server Machine
6:15
Static vs. Dynamic Webpages
8:30
Static Webpage
8:31
Dynamic Webpage
8:55
Server-Side Scripting
9:54
Server-Side Scripting
9:55
Static and Dynamic Webpage Coding Example
11:17
Static and Dynamic Webpage Coding Example
11:18
Serving Dynamic Webpages
13:07
Serving Dynamic Webpages
13:08
Setting Up Your Development Environment

33m 11s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
Development Environments
1:04
Development Environments
1:05
Our Default Development Environment: Window 7
1:54
Remote Development
4:04
Development Machine & Remote Server
4:05
Local Development
6:54
Development Machine
6:55
Software Used In This Course
9:41
Firefox Web Browser & Firebug Add-On
9:42
XAMPP
12:15
PSPAD Text Editor
13:16
XAMPP Installation
13:49
XAMPP Installation
13:50
Verify XAMPP Install
16:26
Verify XAMPP Install
16:27
localhost
19:08
localhost and 127.0.0.1 'loopback' IP Address
19:09
Document Root
21:16
Document Root and Directory Name
21:17
Document Root for Apache in XAMPP: htdocs & Example
22:13
Text Editor Spectrum
26:12
Text Editor Spectrum: Barebones to IDE
26:13
PSPad & Example
27:02
Finding Help
30:26
Web Resources
30:27
Homework Challenge
31:36
Homework Challenge
31:37
Homework Challenge (cont.)
32:38
Homework Challenge (cont.)
32:39
Your First PHP Script

12m 41s

Intro
0:00
Lesson Overview
0:19
Lesson Overview
0:20
.php To HTML
1:00
.php To HTML
1:01
PHP Delimiters
2:20
PHP Delimiters: Opening & Closing PHP Tags
2:21
'Hello, World!' Example
4:34
Echo Statement & PHP Tags
4:35
Adding Second Heading
7:34
Homework Challenge
9:56
Homework Challenge
9:57
Basic PHP Syntax

40m 24s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
PHP Delimiters
0:38
Long and Script Form
0:39
Short and ASP Style
1:33
Example
2:01
php.ini: PHP's Configuration
3:40
php.ini
3:41
Configuration Directives
3:48
Short and ASP Style: Enabled/Disabled
4:13
phpinfo()
7:58
Statements
14:28
PHP Statements
14:29
Example: PHP Statements
14:55
Comments
16:53
PHP Comments
16:55
Single-line Comments
17:37
Multi-line Comments
18:13
Example: PHP Comments
18:47
Coding Conventions
24:26
Coding Conventions
24:27
Example: PHP Coding Conventions
26:19
Homework Challenge #1
33:51
Homework Challenge #1
33:52
Homework Challenge #1 (cont.)
35:41
Homework Challenge #1 (cont.)
35:42
Homework Challenge #2
36:09
Homework Challenge #2
36:10
Homework Challenge #2 (cont.)
38:07
Homework Challenge #2 (cont.)
38:08
Variables & Numeric Data Types

16m 38s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:12
Working With Data
0:48
8 Types of Data for PHP
0:49
Identifiers
1:40
Identifiers: Definition and Example
1:41
Variables
2:47
Variables Definition
2:48
Variables Syntax
3:06
Integer Data Type
4:44
Integer Data Type
4:45
Integer Literals
5:08
Examples
5:30
Float Data Type
6:26
Float Data Type
6:27
Float Literals
7:00
Example
7:21
Example: PHP Code Declaring Variables
8:06
Example: PHP Code Declaring Variables
8:07
var_dump() Function
9:59
var_dump()
10:00
Example: Code and Output
10:30
Example: var_dump() Function
11:19
Coding Conventions: Variables
12:32
Lower Camel Case Notation
12:33
Variable Name Lengths
13:54
Homework Challenge
14:54
Homework Challenge
14:55
String Data Type

18m 6s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
String Data Type
0:29
String Data Type
0:30
Specifying String Literals
1:03
Single-Quoted Strings
1:53
Single-Quoted Strings
1:54
Escape Sequences
2:31
Escape Sequences
2:32
Example
2:46
Escape Sequences for Commonly Used Special Characters
4:32
Double-Quoted Strings
6:04
Double-Quoted Strings
6:05
Variable Interpolation
6:44
Coding Conventions: Strings
7:54
Coding Conventions: Strings
7:55
Homework Challenge
8:54
Homework Challenge
8:55
Include Files & Web Application Introduction

38m 43s

Intro
0:00
Lesson Overview
0:16
Lesson Overview
0:17
include Statement
0:47
include Statement: Definition
0:48
Include Statement: Syntax
2:05
include Statement: Example
2:25
include Path
6:32
Absolute and Relative Path
6:34
Specified Path
7:15
Not Specified Path
7:55
Code Reuse
9:35
Code Reuse
9:36
Example
11:11
require Statement
12:56
require Statement: Definition
12:57
require Statement: Syntax
13:32
Include versus Require
13:52
Coding Conventions
16:33
Coding Conventions
16:34
Introduction to Our Web Application
20:32
Introduction to Our Web Application
20:33
Updating Web Application
21:14
Web Application Example
22:59
Homework Challenge
35:33
Homework Challenge
35:34
Homework Challenge (cont.)
37:38
Homework Challenge (cont.)
37:39
Arrays

34m

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
What is an Array?
0:42
What is an Array?
0:43
Arrays in PHP
1:44
Keys and Values
2:15
Types of Arrays
3:37
Indexed Arrays & Associative Arrays
3:38
array() Construct
6:47
Declaring Arrays
6:48
Defining Indexed Array
7:00
Defining Associative Arrays
7:43
Square Bracket Syntax
8:50
Square Bracket Syntax
8:51
Accessing Indexed Arrays
9:02
Accessing Associative Arrays
9:56
Arrays Example
10:41
Indexed Arrays Example
10:45
Associative Arrays Example
13:55
Multi-Dimensional Arrays
18:28
Multi-Dimensional Arrays
18:29
Multi-Dimensional Arrays Example
18:51
Multi-Dimensional Arrays in PHP File
20:34
Coding Conventions: Arrays
27:59
Coding Conventions: Arrays
28:00
Homework Challenge #1
29:20
Homework Challenge #1
29:21
Homework Challenge #2
30:38
Homework Challenge #2
30:39
Web Application Development

27m 38s

Intro
0:00
Versions
0:14
Version 3.0
1:23
Version 3.1
8:08
Version 3.2
11:42
Version 3.3
20:27
Homework Challenge
26:31
Homework Challenge
26:32
Script Input & The GET Method

30m 18s

Intro
0:00
Lesson Overview
0:15
Lesson Overview
0:16
Providing Input to PHP
0:39
GET Method, POST Method, and Cookies
0:40
Name/Value Pairs
1:22
GET Method
1:57
HTTP GET Method
1:58
Query String
2:52
GET Method Example
3:38
GET Method Example
3:39
Review of HTML Forms
8:16
HTML Forms
8:17
Input Control and Submitted Form
9:13
<form> Tag
10:07
<form> Tag
10:08
Method
10:34
Action
11:13
Input Control Examples
11:50
Input Control Examples
11:51
Common Input Controls
17:31
Common Input Controls
17:32
Query Strings
18:52
Query Strings
18:53
Query Strings Syntax
19:12
URL Encoding
20:01
URL Syntax
20:02
Examples
21:17
Simple Form Example
22:28
urlencode() Function
24:08
urlencode() Function
24:09
Example
25:03
urlEncoding Text Example
25:54
Simple Form Example
25:55
Homework Challenge
28:46
Homework Challenge
28:47
Accessing Form Data in PHP

32m 1s

Intro
0:00
Lesson Overview
0:17
Lesson Overview
0:18
$_GET Array
0:48
$_GET Array
0:49
Accessing the Value of a Name/Value Pair Submitted Via GET
1:04
Name Form Example
2:54
Name Form and the $_GET Array
2:55
Using Arrays with Input Controls
6:34
Using Arrays with Input Controls
6:35
Common Example
6:47
Indexed Array Form Example
8:16
Indexed Array Form Example
8:17
Associative Arrays with Input Controls
10:14
Associative Arrays with Input Controls
10:15
Associative Arrays Example
11:41
Associative Arrays Example
11:42
Echo Form Example
15:18
Echo Form Example
15:19
Outputting Arrays In String
23:42
Variable Interpolation
23:43
Outputting a Value in an Indexed Array Within a String
24:12
Simple' Syntax, 'Complex' Syntax, and 'Curly Brace' Syntax
25:00
Outputting Arrays In String Example
26:25
Outputting Arrays In String Example
26:26
Homework Challenge
29:39
Homework Challenge
29:40
Web Application Development

20m 20s

Intro
0:00
Lesson Overview
0:19
Lesson Overview
0:20
Version 3.3
0:38
Version 3.3
0:42
Version 4.0 Changelog
2:43
GET Query
2:45
Adding, Editing, and Removing
3:24
Version 4.0 Coding Example
3:55
item.php, itemID, and itemListing
4:00
Version 4.1 Changelog
10:36
Version 4.1 Changelog
10:37
Version 4.1 Coding Example
11:45
Adding Checkout and Thank You & Editing Footer and Store
11:46
Homework Challenge
18:45
Homework Challenge
18:46
Expression & Operators

31m 56s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Expressions
0:41
Expressions Definition
0:42
Example: Literals
0:55
Example: Variables
1:05
Operators
1:44
Operators Definition
1:45
Unary, Binary, and Ternary Operators
2:07
Assignment Operators
2:52
Assignment Operators
2:53
Array Assignment Operator
3:47
Arithmetic Operators
6:15
Operators for Common Arithmetic Operations
6:16
Modulus Operator
7:41
Arithmetic Operators Example
8:25
Increment/Decrement Operators
10:48
Increment/Decrement Operators
10:49
Pre- and Post- Increment/Decrement
12:43
Coding Example
15:14
Combined Assignment Operators
16:44
Combined Assignment Operators
16:45
Combined Assignment Operators Examples
18:23
Coding Example
19:39
String Operators
20:28
Concatenation Operator, String Variables, and String Literals
20:29
String Operators Example
22:41
Precedence & Associativity
23:40
Precedence & Associativity
23:41
Expression Containing Multiple Operations
23:58
Expression Containing Two Operations of Equal Precedence
25:55
Using Parentheses to Force Precedence
26:52
Precedence & Associativity Review
28:57
Homework Challenge
31:08
Homework Challenge
31:09
Web Application Development

20m 51s

Intro
0:00
Lesson Overview
0:15
Lesson Overview
0:16
Version 4.1 Review
0:33
Version 4.1 Review
0:34
Version 5.0 Changelog
1:05
Version 5.0 Changelog
1:06
Version 5.0 Example
2:19
Adding View Cart & Editing Checkout, Footer and Store
2:20
Version 5.1 Changelog
15:36
Version 5.1 Changelog
15:37
Version 5.1 Coding Example
17:33
Forwarding Order Total to Thank You Page
17:34
Homework Challenge
20:09
Homework Challenge
20:10
Boolean & Null Data Types

20m 11s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Boolean Data Type
0:38
Boolean Data Type
0:39
Two Boolean Literals
1:24
Boolean Example
1:50
Boolean Example
1:51
Comparison Operators
4:00
Comparison Operators Definition
4:01
Common Comparison Operators
4:40
Comparison Operators Example
6:49
Comparison Operators (Cont.)
10:10
Identical and Not Identical
10:11
Example: Identical and Not Identical
11:24
Null Data Type
13:36
Null Data Type Definition
13:37
Null Literal
14:08
Variable and Null Data Type
14:30
'==' Operator
15:24
Null Data Type Example
15:59
Coding Convention
18:41
Coding Convention
18:42
Homework Challenge
19:17
Homework Challenge
19:18
Type Casting

22m 41s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Type Juggling
0:54
Type Juggling
0:55
Automatic Conversion
2:23
Type Casting
3:53
Type Casting
3:54
Implicit and Explicit Type Casting
4:00
Explicitly 'cast' a Variable Example
4:16
Type Casting (cont.)
6:48
PHP Allows the Following Explicit Type Casts
6:49
The settype () Function
8:18
Type Casting Coding Example
9:00
Explicit Type Casts
9:01
String Conversions
14:52
String Conversions
15:05
Common Conversions to String
15:55
Numeric Conversions
18:18
Numeric Conversions
18:19
Boolean Conversions
20:29
Boolean Conversions
20:30
Homework Challenge
21:38
Homework Challenge
21:39
Introduction to Functions

52m 20s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
What are Functions?
0:51
Definition of Faction
0:52
PHP and Function Call
1:53
Function Calls
2:42
Function Calls
2:43
Function Arguments
3:17
Return Values
4:56
Return Values
4:57
Function Chaining
6:29
Function Chaining
6:30
PHP.net Function Reference
8:23
PHP.net & Function Prototypes
8:24
PHP.net Function Reference Example
9:29
Optional Function Arguments
12:28
Optional Function Arguments
12:29
String Functions
14:57
strtoupper() and strtolower()
14:58
implode (), str_replace(), explode(), strpos(), substr(), and strlen()
18:31
Array Functions
25:48
count()
25:49
in_array() and array_key_exists()
26:06
sort() and ksort()
26:37
Example: count() and in_array()
27:50
Example: array_key_exists()
29:53
Example: sort() and ksort()
31:20
Date & Time Functions
33:38
date() and time()
33:39
getdate()
34:49
mktime()
35:01
Date & Time Functions
35:12
Example: date() and time()
35:58
Example: getdate()
42:15
Example: mktime()
43:15
Homework Challenge #1
44:31
Homework Challenge #1
44:32
Homework Challenge #1 (Cont.)
45:28
Homework Challenge #1 (Cont.)
45:29
Homework Challenge #2
46:34
Homework Challenge #2
46:34
Homework Challenge #2 (Cont.)
48:06
Homework Challenge #2 (Cont.)
48:07
Homework Challenge #2 (Cont.)
49:17
Homework Challenge #2 (Cont.)
49:18
Homework Challenge #3
50:08
Homework Challenge #3
50:09
Constants

19m 24s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Constants vs. Variables
0:55
Constants vs. Variables
0:56
Constant Identifiers
2:28
Constant Identifiers Definition and Examples
2:29
Declaring Constants
3:47
Two Ways of Declaring Constants
3:48
Syntaxes
4:10
Major Difference in the Two Forms
4:48
Using Constants Example
6:25
Using Constants Example
6:26
Coding Conventions
11:08
Constant Names
11:09
define () Function
11:42
Meaningful Names
12:00
$_SERVER Superglobal
12:23
$_SERVER
12:24
$_SERVER ['DOCUMENT_ROOT']
13:15
$_SERVER Superglobal Example
13:52
Homework Challenge
17:40
Homework Challenge
17:41
Web Application Development

26m 29s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
Version 6.0
1:13
Version 6.0 & Version 5.1 Review
1:14
Version 6.0 Changelog
11:24
Version 6.0 Changelog
11:25
Version 6.1 Changelog
12:00
Version 6.1 Changelog
12:01
Version 6.1 Coding Example
12:42
Version 6.1 Coding Example
12:43
Version 6.2 Changelog
15:18
Version 6.2 Changelog
15:19
Version 6.2 Coding Example
18:19
Version 6.2 Coding Example
18:20
Homework Challenge
25:24
Homework Challenge
25:25
Conditional Control Structures

18m 58s

Intro
0:00
Lesson Overview
0:26
Lesson Overview
0:27
Statement Groups
0:57
Statement Groups
0:58
Example
1:10
Conditional Control Structures
1:38
Conditional Control Structures
1:39
PHP Control Structures
1:56
if Statement
2:32
if Statement
2:33
if Statement (cont.)
3:49
if Statement Coding Example
3:50
else Statement
7:26
else Statement
7:27
if/else Statement Coding Example
8:50
isset() Construct
9:59
isset() Construct
10:00
isset() Construct Coding Example
12:00
Coding Conventions
15:13
Coding Conventions
15:14
Coding Conventions (Cont.)
16:39
Coding Conventions (Cont.)
16:40
Homework Challenge
17:25
Homework Challenge
17:26
Error Handling

19m 8s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Error Handling in PHP
0:41
Error Handling in PHP
0:42
Coding Example
1:45
error_reporting() Function
7:02
error_reporting() Function
7:03
Coding Example
8:04
Additional Error Directives
9:02
display_errors
9:13
log_errors
9:37
error_log
9:50
track_errors
10:12
Coding Examples
10:29
Error Control Operator
13:38
Error Control Operator & Coding Example
13:39
Homework Challenge
16:19
Homework Challenge
16:20
Homework Challenge (cont.)
17:58
Homework Challenge (cont.)
17:59
Logical & Ternary Operators

23m 22s

Intro
0:00
Lesson Overview
0:17
Lesson Overview
0:18
Logical Operators
0:49
Logical Operators Definition
0:50
NOT (!)
1:08
OR ( ||, or)
1:35
AND (&&, and)
2:08
XOR (xor)
2:30
Logical Operators (cont.)
2:54
The OR and AND Logical Operators
2:55
Precedence of Logical Operators
3:35
Logical Operators Coding Example
3:58
Logical Operators Coding Example
3:59
Short-Circuit Operators
9:54
Short-Circuit Operators
9:55
Coding Example
10:49
Ternary Operator
14:07
Ternary Operator
14:08
Syntax and Example
14:24
Coding Conventions
17:36
Coding Conventions
17:37
Homework Challenge
19:08
Homework Challenge
19:09
Homework Challenge (cont.)
20:26
Homework Challenge (cont.)
20:27
Web Application Development

19m 27s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Version 6.2 Review
0:26
Version 6.2 Review
0:27
Version 7.0 Changelog
2:39
Version 7.0 Changelog
2:40
Version 7.0 Coding Example
4:35
Version 7.0 Coding Example
4:36
Version 7.1 Changelog
12:43
Version 7.1 Changelog
12:44
Version 7.1 Coding Example
13:52
Version 7.1 Coding Example
13:53
Homework Challenge
17:42
Homework Challenge
17:43
More Conditional Control Structure

20m 49s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
elseif Statement
0:45
elseif Statement
0:46
elseif Statement Coding Example
1:22
Multiple elseif Statements
2:16
Multiple elseif Statements
2:17
Multiple elseif Statements Coding Example
3:07
Adding an else Statement
5:44
Adding an else Statement Overview
5:45
Adding an else Statement Coding Example
6:50
switch() Statement
8:07
switch() Statement
8:08
switch() Statement (Cont.)
9:14
switch() Statement (Cont.)
9:15
switch() Statement Coding Example
11:09
default Case
14:20
default Case
14:21
default Case Coding Example
15:13
Coding Conventions
15:57
Coding Conventions
15:58
Coding Conventions (cont.)
17:10
Coding Conventions (cont.)
17:11
Homework Challenge
18:06
Homework Challenge
18:07
Homework Challenge (cont.)
19:18
Homework Challenge (cont.)
19:19
Nested Conditional Control Structures

24m 49s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Nested Control Structures
0:36
Nested Control Structures
0:37
Nested Control Structures Coding Example
2:08
Coding Conventions
6:34
Nested vs. Not Nested Control Structures
6:35
Debugging Control Structures
7:51
Debugging Control Structures
7:52
Incorrectly Specified Test Conditions and Forgetting a Break Statement
8:32
Incorrectly Placing an Opening or Closing Curly Brace
12:14
Debugging Tips
16:24
Tracing the Execution of Your Code
16:25
Adding Echo Statement
17:15
Homework Challenge
21:41
Homework Challenge
21:42
Homework Challenge (cont.)
23:08
Homework Challenge (cont.)
23:09
Web Application Development

28m 20s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
Version 7.1 Review
0:46
Version 7.1 Review
0:47
empty () Construct
1:38
empty () Construct
1:39
empty () Construct Coding Example
2:37
Version 8.0
5:32
Version 8.0 Overview
5:33
Version 8.0 Coding Example
7:08
Version 8.0 Coding Example
7:09
Version 8.1
16:13
Version 8.1 Overview
16:14
Version 8.1 Coding Example
19:48
Version 8.1 Coding Example
19:49
Homework Challenge
26:19
Homework Challenge
26:20
Sending Email Using PHP

43m 50s

Intro
0:00
Lesson Overview
0:14
Lesson Overview
0:15
Built-in Mail Extension
1:28
Built-in Mail Extension
1:29
SMTP Overview
2:04
SMTP Overview
2:05
SMTP - Windows
3:08
SMTP - Windows
3:09
SMTP - Linux/UNIX
4:58
SMTP - Linux/UNIX
4:59
Mail Configuration Directives
6:35
Mail Configuration Directives
6:36
Coding Example
7:48
Mail Server Authentication
10:20
Mail Server Authentication
10:21
fake sendmail Program
12:27
fake sendmail for Windows
12:28
Main 'add-on' feature
13:03
Username & Password
13:25
SMTP - XAMPP for Windows
14:07
SMTP - XAMPP for Windows
14:08
Sendmail Example
16:19
Sendmail Example
16:20
mail() Function
18:39
mail() Function
18:40
additional_headers
19:45
'From' Header
20:12
mail() Function Coding Example
21:09
mail() Function Coding Example
21:40
Web Application Development
31:43
Version 9.0 Changelog
31:44
ContactUs.php
32:52
ContactUs.php
32:53
contactInfo
33:45
Version 9.0 Coding Example
34:31
Version 9.0 Coding Example
34:32
Homework Challenge
41:32
Homework Challenge
41:33
User-Defined Functions

56m

Intro
0:00
Lesson Overview
0:16
Lesson Overview
0:17
Defining Functions
1:29
Four Parts of Defining a Function
1:30
Functions Example 1
2:29
Function Parameters
5:29
Function Parameters
5:30
Functions Example 2
8:20
Return Statements
12:53
Return Statements
12:54
Functions Example 3
14:20
Where to Define Functions
20:34
Where to Define Functions
20:35
include_once Construct
22:10
include_once Construct
22:11
include_once Coding Example
23:55
Reasons to Use Functions
27:44
Take Advantage of Code Reuse
27:45
Improve Code Readability
29:56
Use Instead of 'content' Include Files
32:12
Web Application Development
34:42
Version 10.0 Changelog
34:43
Version 10.0 Coding Example
37:55
Version 10.0 Coding Example
37:56
Outputting HTML in Functions
47:04
Outputting HTML in Functions
47:05
Example
49:02
Coding Conventions
53:16
Coding Conventions
53:17
Homework Challenge
54:33
Homework Challenge
54:34
Variable Scope

31m 37s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
What is Variable Scope?
0:57
Variable Scope
0:58
Global Scope
1:15
Local Function Scope
1:50
Variable Scope Coding Example
2:26
Variable Scope Coding Example
2:27
global Keyword
8:52
global Keyword Overview
8:53
global Keyword Example
9:25
Superglobals
12:34
Superglobals
12:35
Superglobals Example
14:53
Pitfalls of Global Variables
18:34
Pitfalls of Global Variables
18:35
When to Define Variables
22:09
When to Define Variables
22:10
Putting It All Together
22:56
Putting It All Together Example
22:57
Function Scope
28:56
Function Scope
28:57
Homework Challenge
29:41
Homework Challenge
29:42
Homework Challenge (cont.)
30:59
Homework Challenge (cont.)
31:00
Web Application Development

28m 27s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Version 11.0 Changelog
0:56
Version 11.0 Changelog
0:57
processGetVar()
1:42
processGetVar() Overview
1:43
processGetVar() Example
2:25
emailComments()
6:35
emailComments() Overview
6:36
emailComments() Example
7:14
outputItemLink()
11:19
outputItemLink() Overview
11:20
outputItemLink() Example
11:45
calcCartTotal()
19:25
calcCartTotal() Overview
19:26
calcCartTotal() Example
21:14
Homework Challenge
25:56
Homework Challenge
25:57
Optional Parameters

19m 35s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Optional Parameters
0:26
Optional Parameters Definition
0:27
Default Values
0:53
Optional Parameters Coding Example
3:26
More on Optional Parameters
6:55
Multiple Optional Parameters
6:56
Coding Example
8:05
Homework Challenge
16:18
Homework Challenge
16:19
Web Application Development

23m 7s

Intro
0:00
Lesson Overview
0:13
Lesson Overview
0:14
Version 12.0 Changelog
0:55
Version 12.0 Changelog
0:56
Update to outputLink()
1:44
Update to outputLink()
1:45
outputLink() Coding Example
2:40
outputImg()
13:57
outputImg() Overview
13:58
outputImg() Coding Example
15:35
Homework Challenge
22:05
Homework Challenge
22:06
Introduction to Conditional Loops

57m 20s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
while Loop
0:48
Definition
0:49
Syntax and Usage
1:12
Coding Example
3:33
Looping Over Arrays
13:16
Looping Over Arrays
13:17
Coding Example
13:53
Looping Over Arrays (cont.)
16:43
Internal Array Pointer
16:44
Array Traversal Functions
17:29
current ()
17:30
next () and prev ()
18:16
reset () and end ()
19:25
key ()
19:40
Indexed Arrays: Using current () and next ()
20:40
Indexed Arrays: Using current () and next ()
20:41
Associative Arrays: Using key (), current (), and next ()
24:06
Associative Arrays: Using key (), current (), and next ()
24:07
Array Traversal Functions (cont.)
29:41
list () Construct and Example
30:07
each () Construct and Example
34:40
Lopping Over Arrays Using list(), each()
42:13
Lopping Over Arrays Using list(), each()
42:14
Control Structure Scope
50:37
Definition and Example
50:38
Control Structure Scope Coding Example
51:59
Coding Conventions
54:20
Coding Conventions
54:21
Homework Challenge
54:58
Homework Challenge
54:49
More on Conditional Loops

35m 50s

Intro
0:00
Lesson Overview
0:08
Lesson Overview
0:09
do-while Loop
0:42
do-while Loop
0:43
Simple do-while Loop Example
1:51
Another do-while Loop Example
4:09
continue Statement
10:46
continue Statement
10:47
For Example
11:07
continue Statement Coding Example
12:44
break Statement Re-Visited
18:10
break Statement Re-Visited
18:11
break Statement In while Loops Example
19:38
Infinite Loops
23:26
Infinite Loops
23:27
Coding Example
24:57
Common Loop Pitfalls
25:59
Counter Initialization Occurs in Loop
26:30
Counter Not Incremented in Loop
29:30
Unreachable Break Statement
30:50
Coding Conventions
33:48
Do-while Statements Coding Conventions
33:49
Homework Challenge
34:28
Homework Challenge
34:29
Web Application Development

22m 7s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Version 13.0 Changelog
0:48
Updating 'viewCart.php' and calcCartTotal()
0:49
Creating isValidCart()
9:22
Adding Three New Item to the Store & Links
15:56
Version 13.1 Changelog
17:20
Updating outputItemLink() to Remove Its Global Dependency on $itemCatalog
17:21
Homework Challenge
20:34
Homework Challenge
20:35
For & Foreach Loops

29m 28s

Intro
0:00
Lesson Overview
0:11
Lesson Overview
0:12
for Loops
0:45
for Loops
0:46
Expression 1
1:22
Expression 2
1:47
Expression 3
2:01
Simple Example
2:27
Simple Example
2:28
Notes on for Loops
8:56
Notes on for Loops
8:57
Ending Loop Using Test Condition and Break Statement
10:06
Ending Loop Using Test Condition and Break Statement
10:07
foreach Loops
12:03
foreach Loops
12:04
Indexed Array Syntax
14:10
Syntax
14:11
Example
15:23
Associative Array Syntax
18:31
Syntax
18:32
Example
19:47
Coding Conventions
25:05
for Loops
25:06
foreach Loops
25:58
Homework Challenge
26:52
Homework Challenge
26:53
Web Application Development

25m 58s

Intro
0:00
Lesson Overview
0:12
Lesson Overview
0:13
Version 14.0 Changelog
1:19
Version 14.0 Changelog
1:20
Version 14.0 Coding Example
1:57
Version 14.0 Coding Example
1:59
Version 14.1 Changelog
5:39
Version 14.1 Changelog
5:40
Version 14.1 Coding Example
7:06
Version 14.1 Coding Example
7:07
Version 14.2 Changelog
15:37
Version 14.2 Changelog
15:38
Version 14.2 Coding Example
16:25
Version 14.2 Coding Example
16:26
Homework Challenge
23:35
Homework Challenge
23:36
Conditional Loop Wrap-Up

23m 12s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Nested Conditional Loops
0:39
Nested Conditional Loops
0:40
Coding Example
1:10
continue & break Re-Visited
5:17
Continue Statements and Coding Example
5:30
Break Statements and Coding Example
11:34
Loop Debugging Tips
15:16
Add Short Debug Statement At the Very Beginning
15:17
Output a Counter Variable
18:10
Add Debug Statement At the Very End
19:20
Homework Challenge
20:20
Homework Challenge
20:21
Homework Challenge (cont.)
22:00
Homework Challenge (cont.)
22:01
Variable-Length Parameter Lists

22m 16s

Intro
0:00
Lesson Overview
0:09
Lesson Overview
0:10
Variable-Length Parameter Lists
0:34
Variable-Length Parameter Lists
0:35
Coding Example
1:51
Variable-Length Parameter Lists (cont.)
5:21
When a Parameter List is Defined For the Functions
5:22
Coding Example
6:32
Variable Type Functions
9:54
is_int (), is_float (), is_string (), and is_bool()
9:55
is_ array ()
10:50
is_null ()
11:01
Variable Type Functions Coding Example 1
11:27
is_numeric() and Example
15:57
Variable Type Functions Coding Example 2
17:12
Homework Challenge
19:35
Homework Challenge
19:36
Homework Challenge (cont.)
20:52
Homework Challenge (cont.)
20:53
Web Application Development

38m 36s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
Version 15.0 Changelog
0:33
outputLink (), outputImg (), is_array () and is_string ()
0:34
Version 15.0 Coding Example
1:31
Version 15.0 Coding Example
1:32
Version 15.1 Changelog
7:55
Removing Redundant Code and Adding New Function Called outputHtmlTag ()
7:56
Version 15.1 Coding Example
8:37
Version 15.1 Coding Example
8:38
Version 16.0 Changelog
14:55
Creating emailOrder() Using New Constants ORDER_EMAIL_FROM and ORDER_EMAIL_SUBJECT
14:56
Version 16.0 Coding Example
16:30
Version 16.0 Coding Example
16:31
Version 16.1 Changelog
32:21
Creating formatAsDollars ()
32:22
Version 16.1 Coding Example
32:57
Version 16.1 Coding Example
32:58
Homework Challenge
36:27
Homework Challenge
36:28
Miscellaneous Topics

31m 49s

Intro
0:00
Lesson Overview
0:10
Lesson Overview
0:11
register_globals Directive
0:58
register_globals
0:59
Coding Example
2:04
$_GET vs. $HTTP_GET_VARS
4:07
$_GET vs. $HTTP_GET_VARS
4:08
register_long_arrays Directive Coding Example
5:44
Magic Constants
7:30
Magic Constants
7:31
__LINE__, __FILE__, __FIR__, and __FUNCTION__
8:16
Coding Example
9:06
exist() & die()
13:19
exist() & die()
13:20
Coding Example
14:08
Execution Operator
16:23
Execution Operator
16:24
Coding Example
17:27
Array Operators
18:23
Equality (==) and Inequality (!=, <>)
18:43
Identity (===) and Non-Identity (!==)
19:13
Union (+) Operator
19:41
Array Operators Coding Example
20:07
Variable Variables
24:13
Variable Variables
24:14
Coding Example
26:07
Variable Functions
28:02
Variable Functions
28:03
Coding Example
29:13
Loading...
This is a quick preview of the lesson. For full access, please Log In or Sign up.
For more information, please see full course syllabus of Introduction to PHP
Bookmark & Share Embed

Share this knowledge with your friends!

Copy & Paste this embed code into your website’s HTML

Please ensure that your website editor is in text mode when you paste the code.
(In Wordpress, the mode button is on the top right corner.)
  ×
  • - Allow users to view the embedded video in full-size.
Since this lesson is not free, only the preview will appear on your website.
  • Discussion

  • Study Guides

  • Download Lecture Slides

  • Table of Contents

  • Transcription

  • Related Services

Start Learning Now

Our free lessons will get you started (Adobe Flash® required).
Get immediate access to our entire library.

Sign up for Educator.com

Membership Overview

  • Unlimited access to our entire library of courses.
  • Search and jump to exactly what you want to learn.
  • *Ask questions and get answers from the community and our teachers!
  • Practice questions with step-by-step solutions.
  • Download lesson files for programming and software training practice.
  • Track your course viewing progress.
  • Download lecture slides for taking notes.
  • Learn at your own pace... anytime, anywhere!

More Conditional Control Structure

  • The elseif statement is a conditional control structure that can be associated with an if statement. If an if statement’s test condition is FALSE and an associated elseif statement’s test condition is TRUE , the elseif’s statement group gets executed.
  • Multiple elseif statements can be associated with a single if statement.
  • An else statement can be appended to the end of a series of if/elseif statements so if none of the if/elseif test conditions evaluate to TRUE , then the else statement group will be executed.
  • A switch() statement is used to compare a single test expression against different values, known as cases , and then evaluate any code associated with the case it matches.
  • Case values can only be expressions that evaluate to one of the scalar data types (int, float, string, bool) or NULL .
  • A switch() statement executes all statements it encounters after a matching case is found until either a break statement or the end of the switch() statement is reached, whichever occurs first.
  • A default case can be assigned to a switch() whose associated statement(s) will be executed if the test expression did not match any case in the switch().
  • Additional Resources:

More Conditional Control Structure

Lecture Slides are screen-captured images of important points in the lecture. Students can download and print out these lecture slide images to do practice problems as well as take notes while watching the lecture.

  • Intro 0:00
  • Lesson Overview 0:13
    • Lesson Overview
  • elseif Statement 0:45
    • elseif Statement
    • elseif Statement Coding Example
  • Multiple elseif Statements 2:16
    • Multiple elseif Statements
    • Multiple elseif Statements Coding Example
  • Adding an else Statement 5:44
    • Adding an else Statement Overview
    • Adding an else Statement Coding Example
  • switch() Statement 8:07
    • switch() Statement
  • switch() Statement (Cont.) 9:14
    • switch() Statement (Cont.)
    • switch() Statement Coding Example
  • default Case 14:20
    • default Case
    • default Case Coding Example
  • Coding Conventions 15:57
    • Coding Conventions
  • Coding Conventions (cont.) 17:10
    • Coding Conventions (cont.)
  • Homework Challenge 18:06
    • Homework Challenge
  • Homework Challenge (cont.) 19:18
    • Homework Challenge (cont.)

Transcription: More Conditional Control Structure

Hello again, and welcome back to Educator.com's Introduction to PHP course.0000

In today's lesson, we are going to be introducing some more conditional control structures.0005

In particular, we are going to be introducing the elseif and the switch statement.0008

As mentioned, we are going to introduce the control structure that is called an elseif statement,0015

which is used in combination with an if statement, which you have already learned about.0020

We are going to learn about a switch statement, which allows you to evaluate different statements, based on the value of a certain variable.0026

And we are going to talk about something known as the default case, which applies to switch statements.0034

And then, we are just going to quickly go over coding conventions, as it relates to these two types of control structures we are introducing.0039

An elseif statement is a conditional control structure that you can associate to an if statement, like an else statement that we had learned about.0048

The difference between an else and an elseif statement--one thing I should mention, again,0056

is that an elseif statement is technically not a statement, as far as PHP goes, but that is commonly what it is referred to as.0061

The difference between an else and an elseif statement is that the elseif, if the test condition for the if statement is false,0067

has another test condition it evaluates, and it only evaluates its code segment if that is true.0078

For example, this is an example of an if statement combined with an elseif statement.0083

Here, we have if, and then test condition 1--if test1 is true, the if statement group gets executed, and execution continues down to the bottom.0089

Now, if this test condition equals false, instead of going down to an else statement, we go down to an elseif statement.0102

And this provides another test that we evaluate,0109

and then this section associated with the elseif statement only gets executed if test2 is equal to true.0112

So, it allows us a way to allow another test condition to decide what type of code or which section of code to evaluate on.0119

So again, this section is only going to get evaluated if test1 from the if statement was false, and then test2 was equal to true.0129

One of the nice things you can do with elseif statements is: you can chain multiple elseif statements together.0137

And you can do that as often as you need it.0144

In this case, we have an if statement with two elseif statements appended to it.0147

And the same rules apply as we just talked about: for example, this statement group only gets executed if test1 is false and test2 is true.0153

However, if it comes down here, test1 is false, and test2 ends up being false, it goes on to the next elseif block and evaluates test3.0162

If test3 is equal to true, then it evaluates test3's statement.0170

However, if none of the test conditions apply, then you just exit the entire control structure set,0175

and you continue with whatever statement is next in line.0181

Let's take a look at an example of the elseif statement in action.0188

For example, this is a script I have written called elseif.php, and it accepts one GET variable called num, and you set that equal to a numerical value.0195

And what we have is a couple of elseif statements that will conditionally execute or echo a statement,0207

depending on the value of the number that is passed in.0215

For example, the first test is if num (and in our code, we have num as a short variable created for the GET variable num)0217

is equal to null (which means it wasn't passed in); then, we echo "no number was provided."0226

If num is less than 0, we write, "the number provided is negative"; if it's greater than 0, we write "the number provided is positive."0230

If none of these conditions are met (which is only the case if num equals 0), then we just move on to the next statement, which would be down here.0238

So, let's go ahead and show you how this works.0246

If we go ahead and put num=...well, first of all, actually, let's just look at the page where we don't put any input.0248

We haven't included any num statement: down at the bottom here, we can see the results.0260

This first result here applies to this first elseif statement: we can see the message "no number was provided,"0264

which means that num equals null, and this section was executed.0270

Let's go ahead and enter num=100, which is a positive number.0273

When we do that, what is going to happen is: this code that is going to be entered is going to say, "Is num equal to null?"0282

It's going to say false; num is equal to 100; "Is num less than 0?"--that test is going to return false.0289

And it's going to go down here and say, "Is num greater than 0?"0297

100 is greater than 0; this is going to evaluate to true, so this echo statement gets executed.0299

If you look down at results, it outputs that statement, "The number provided is positive."0304

Now, if we go up here, and we change this num to equal -100, and we hit Enter, the same process is going to happen.0309

num is not going to be equal to null, but what it is going to do is: when it reaches the first elseif statement,0317

it is going to say num is less than 0--that is going to evaluate to true, so this echo statement is going to be output.0322

And then, because this condition was met, this following elseif statement doesn't even get evaluated.0327

This test condition never gets evaluated, and execution would jump immediately to the following line of code.0332

If we look at the result, we can see "the number provided is negative."0338

Now, one of the things that we can do, as we can do with an if statement, is: we can add an else statement to a group of if and elseif statements.0345

And what happens is: the else statement group gets executed if none of the conditions in the original if,0354

or any of its associated elseif, statements evaluate to true.0360

And this right here is an example of this sort of structure.0365

It has an if statement, followed by an elseif statement, followed by an else.0370

What happens is: if test1=true, it goes ahead and evaluates this group and jumps to the bottom down here.0375

and evaluates the next line of code after all of these structures.0382

If test1 is false, it goes down here and evaluates condition test2.0385

As we know from what we learned about elseif, if this is true, then this statement group gets executed, and again, we would jump out to here.0390

Now, if test1 is false, and we go down here and test2 is false, then else gets executed, no matter what.0399

And in this case, it is going to execute whatever the else statement group is.0407

So, if we go back and look at our elseif.php file, we have another section of elseif statements here,0411

except--it is exactly the same as before, except we have added an else statement here.0417

And what we had talked about before was that this first group of if, elseif statements--0421

they will always enter at least one of these statements, unless the number is 0.0427

So, in this case, if it is equal to null, the first one is executed; if it's negative, the second one is executed; if it's positive, the other one is executed.0431

But if it is 0, it is going to be none of these; so in this case, we can add an else statement.0439

It says, "If you get to this section, the number you provided is 0," and it's going to say "the number provided was 0."0442

So, if we go ahead and input the number 0 and refresh the page, we can see two things.0449

We can see 1) the output for this bottom section with the else statement says "the number provided was 0," and that is because of our else statement.0459

We also can see that nothing was output for the first section of ifelse statements.0466

That is because 0 met none of these conditions: it wasn't equal to null, it wasn't less than 0, and it wasn't greater than 0.0470

So again, these elseif blocks only get evaluated if one of their conditions is true.0478

If not, execution just jumps to immediately afterwards.0482

The next control structure we are going to introduce is known as the switch statement.0489

What that does is: that compares a single test expression against a number of different values, which are called cases,0493

and then evaluates any statements associated with those cases.0502

For example, this is the syntax of what it looks like.0506

It's a switch keyword, and then it is followed by an expression in parentheses.0509

In this case, it's a variable called num that is going to hold a number value.0515

And then, what you can see here is: within the switch statement, which is denoted,0521

as with the other control structures, by curly braces, it has a number of different cases.0526

It has case here, which is 1, that says, "If the value of num is equal to 1, then you process these statements here."0531

"If num is equal to 2, then you process these statements here."0542

"If num isn't equal to any of these, none of them get processed, and execution jumps out to the end of the script."0546

Now, one thing to note is that the case values (here is another example) can only be scalar values.0556

So, they can be strings, integers, bools, and floats.0564

Or, they can be the value null; they can't be things such as arrays and so forth, or objects.0570

Also, what happens is: on the last slide, you will notice that,0576

after each statement in our case statement, we had a second statement that was break.0580

This break statement is a special statement, and what it does is: the way switch operates is:0586

you input a value or expression, and then it goes down linearly from top to bottom, evaluating each case, and saying,0592

"Is the value passed in equal to this case?"0599

And then, what it does is: once it finds a case that matches, it goes ahead and runs every statement,0603

until it either reaches a break statement or the end of the switch statement.0608

So, in this case, because there is no break here after the first case statement, if the name passed in is the string joe,0614

what is going to happen is: it's going to say, "OK, I match here, so I'm going to evaluate this case."0621

"I'm going to evaluate this statement here," so it's going to echo "name is joe."0625

But then, there is no break statement; and as mentioned, the switch statement continues to execute statements0630

until it either reaches a break statement or the end of the switch statement.0634

So, there is no break statement here, so what it does is: it goes down here; it is going to output this line, as well.0638

It is going to echo "name is john"; then it is going to reach the end of the switch statement, and it's going to stop.0643

So, this is probably not the behavior that would be desired, and so that is where break statements come into use.0647

Typically, to make this function as we would want it to be, we would add a break statement below here, and then a break statement below here, as well.0655

Let's take a look at some code examples using the switch statement.0671

Let's go to switch.php, which is an example file.0679

And here, we have a switch statement that uses, as its value to compare against, the value of the variable called phone,0683

which, for this script, is a short variable for a GET variable that is passed in called phone.0695

We are going to have, for this script, that phone can take on the different string values home, work, or cell.0703

And so, what happens is: if we were to pass in a GET parameter, in this case, in this original page, we just have switch.php0711

with no query string, so phone is going to get set equal to null, because we have used a ternary operator to process the GET variable.0717

And the way we do that is: if the GET variable phone is set, we set it to the value; if not, we set it equal to null.0726

So, if nothing is passed in, we go down here; we reach the case null; it is going to echo "no phone number was provided."0733

And then, you notice the break statement here, which means none of the rest of these statements are going to get evaluated.0739

And so, it is going to jump to the end of this switch statement and break out of it, which is where the name "break" comes from.0748

If we look down at our results for the first output, it will say "no phone number was provided."0752

Now, for these other ones, it has a case for if you provide home; it's going to say "the phone number provided was home,"0759

"phone number provided was work" if you provide the name work, and so on for cell.0763

So, if we just go through and try out some of these...we'll say phone=home; you can see, down here at the bottom,0768

it says "phone number provided was home," and that echoes this statement right here,0775

because when phone variable was passed into this switch statement, it didn't match null, but it did match home.0780

And then, just to do one more as an example, we'll put in cell.0787

What is going to happen is: this switch statement is going to get evaluated; phone is going to be compared to null;0791

in this case, it's the string cell, so this is not going to be evaluated; it is not going to be equal to home,0798

so this case and its associated statements are not going to be evaluated.0802

It doesn't equal work, so this is not going to be evaluated; and then, at the same time, it does equal cell, so this one is going to get evaluated.0807

So, when we refresh the page, if we go look at the bottom, we can see "the phone number provided was cell."0814

Now, one other scenario: let's say we provided something that said cell2.0822

Maybe this is a script that processes different phone numbers, and it said, "I want to update my phone, cell2."0828

If we go ahead and enter that, you will notice that there is no output here.0834

That is because, when phone equals cell2, and it enters the switch statement, the switch statement is going to compare0839

the string cell2 to each of these different cases.0848

Because it doesn't equal any of these cases, none of these statements gets executed.0850

That is going to bring us to another interesting point we are going to talk about, which is called a default case.0855

This is similar to an else statement that gets appended to a series of if, elseif statements.0864

What that does is: it uses the keyword default, and what it states is that if you enter the switch statement,0869

and you compare the expression passed in (in this case, the variable num), and it doesn't match any of the cases,0879

then by default, it is going to always run this statement group here.0886

So, in this example, if num equaled, for example, the integer 2, we would come down here, and we would say,0891

"case equals 0; 2 doesn't equal 0"; it wouldn't evaluate this.0897

It would compare 0 to 1; that would evaluate to false, so it wouldn't echo here.0901

Then, when it reaches the default section, and it says, "Well, it hasn't reached any of the others of these,"0905

we are always going to go ahead and output this here.0908

And we can make use of that in our script to go back here and...here we have a switch statement.0912

For this part right here, it is the same as we had before in this top example, except we have added a default case.0920

And so, what that is going to do is: as you notice, when we entered cell2 as the value of phone,0926

you can see that nothing was output for this top if statement, because it fell through all of these cases and had no default output.0933

But down here, we have a default case that says, if you compare phone to each of these cases,0941

and it doesn't match any of them, then you go ahead and output this default statement.0947

In this case, we are just echoing the statement that says "the phone number will be set to home."0950

And as you can see, that is what happened.0954

Just quickly, we are going to talk about coding conventions.0959

For elseif statements, the same coding conventions are going to apply as we use for if statements,0963

as far as parentheses and spaces and curly braces go.0968

The switch statement, also, is going to have similar code formatting.0971

If we go and look at the code, the one thing you will notice is: like with our if statement,0976

there will always be a space between the switch keyword and the opening parentheses of the test condition.0980

The opening curly brace will be on the same line as the switch statement, and there will be a space between that and the closing parenthesis.0986

In addition, each case will be indented one indent further in, or one indent deeper, than the switch statement.0992

You can see, all of these cases are indented one further.1001

And then, under each case statement, all of the statements that are part of the case statement group will also be indented one, relative to the case.1004

So, you see here, we have three different indent levels.1013

Finally, the closing brace, like our if and elseif and else statements, is going to be on a line all by itself,1017

and it is going to be aligned at the same indent level as the switch keyword.1023

The other thing we want to mention is that when we use a default case in our switch statements, we are always going to put it as the last case.1033

Now, technically you don't have to do that, but that is typically the convention, and it makes sense,1040

like with our ifelse statements--else is always at the bottom.1045

Well, with a switch statement, we are always going to put the default case at the bottom.1048

And additionally, we are always going to add a break statement to our default case.1051

Now, technically, because the default case will always be at the bottom, as we described, whenever its statements are done executing,1056

it is going to reach the end of the switch statement, and so it will stop executing,1063

because we know a switch statement executes everything from the case it matches until it reaches a break or end of statement.1067

That said, we are always going to include that break statement.1072

That would be for reasons...in case somebody decides to add an extra case at the bottom, below our default statement, or something like that.1076

It is just to improve the robust-ness of our code.1082

For the homework challenge for today, I want to have you create a script that accepts one GET variable named action.1088

We are going to let action take on one of three string values: one, two, or three,1095

which correlate to three different actions that a script might perform.1100

I want you to use the ternary operator, like you had used in our web application, to create a short variable called action1104

that gets set to the value that was supplied for action, if it was supplied.1112

It gets set to null if no value was provided.1116

Then, I want you to use a set of if, elseif, and else statements to do three things.1119

If no action was provided (which would be action is equal to null), then you provide an error message saying "no action was provided."1125

If the value is one to three, then I want you to output a separate message for each of those, saying "action1 will be performed";1135

"action2 will be performed"; "action3 will be performed."1141

If action is specified, but is has an action name that is not one, two, or three (for example, let's say the user specified action=four),1145

then I want you to output a message saying that some default action was performed instead.1152

Be sure to test these conditional statements that you create.1160

And you can do that by...you should use the name/value pairs name=one, name=two, and name=three1165

to verify that you definitely get the output that says "action1/action2/action3 was performed."1171

as well as providing something where it says name=xxx, where xxx is not one, two, or three1176

(in this case, as we just mentioned, we could say name=four).1182

The other thing is: you also want to not provide the variable name.1191

And actually, this is a little bit of a typo; these actually should be action=one, two, or three.1198

So, the other thing you should do is not provide the action variable at all, and you should output the message corresponding,1203

where it says "no action variable was provided."1211

Then, what I want you to do is go ahead and convert that if, elseif, else statement group all into one switch statement1215

that has a default case (and remember, the default case sort of corresponds to an else statement).1221

And then, test your switch statement with the same inputs you used up here in test 4, and make sure you get the same output, as required.1229

Be sure to format your elseif and your switch statements according to the course's coding conventions that we had talked about.1237

That ends today's lesson; thank you for watching Educator.com--I look forward to seeing you next time.1244

Educator®

Please sign in to participate in this lecture discussion.

Resetting Your Password?
OR

Start Learning Now

Our free lessons will get you started (Adobe Flash® required).
Get immediate access to our entire library.

Membership Overview

  • Available 24/7. Unlimited Access to Our Entire Library.
  • Search and jump to exactly what you want to learn.
  • *Ask questions and get answers from the community and our teachers!
  • Practice questions with step-by-step solutions.
  • Download lecture slides for taking notes.
  • Track your course viewing progress.
  • Accessible anytime, anywhere with our Android and iOS apps.