Matthew M.

Matthew M.

Type Casting

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

Lecture Comments (1)

0 answers

Post by Donald Isod on September 3, 2012

good job on these tutorials mate , helped me pick up the basic of PHP really fast

Type Casting

Type Casting

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:12
    • Lesson Overview
  • Type Juggling 0:54
    • Type Juggling
    • Automatic Conversion
  • Type Casting 3:53
    • Type Casting
    • Implicit and Explicit Type Casting
    • Explicitly 'cast' a Variable Example
  • Type Casting (cont.) 6:48
    • PHP Allows the Following Explicit Type Casts
    • The settype () Function
  • Type Casting Coding Example 9:00
    • Explicit Type Casts
  • String Conversions 14:52
    • String Conversions
    • Common Conversions to String
  • Numeric Conversions 18:18
    • Numeric Conversions
  • Boolean Conversions 20:29
    • Boolean Conversions
  • Homework Challenge 21:38
    • Homework Challenge

Transcription: Type Casting

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

In today's lesson, we are going to be discussing the topic of type casting, which is a way of converting variables of one data type to another data type.0004

In today's lesson, we are going to talk about a couple of things.0014

We are going to first talk about a term called type juggling, which is something that PHP does,0017

which is a way it automatically converts variables of one particular data type to another.0023

We are going to talk about type casting itself, which is the actual process of doing that.0031

And then, we are going to talk about a couple of different common conversions, like when you cast or convert a variable of one data type to another.0034

Certain rules apply, and certain things occur; and we are going to talk about some common cases0043

for strings, for some arithmetic operations, and for converting things to boolean values.0048

Type juggling--what does that mean? Well, PHP is known as a weakly-typed language.0056

What that means is that, when you declare a variable in PHP, you don't have to give it an explicit type.0061

So, when we do a=1, we are not saying to PHP that a is an integer variable.0066

PHP determines the variable's type from its context; so if we assign it an integer, it is going to be an integer variable.0077

If we assign a variable a floating-point number, PHP knows that b is a floating-point number.0084

This is different from strongly-typed languages, where, for example, in another language, you might...0091

if you want to declare a to hold an integer, you have to preface it with, for example, the int keyword, which says that a is a data type integer.0096

Now, the thing about PHP is: because it's weakly typed, a variable can also change data types.0106

Whereas, in other languages, you might only be able to assign integers to a variable that is declared an integer,0113

in PHP, if you have a=1, this statement will say "a is an integer that is equal to the value 1"; we can, in the very next line,0119

say a=2.5, and we have just implicitly changed the data type of the variable a.0132

PHP now knows that a is a float data type; and it does that on its own.0139

And because, in languages, operations and functions require data of certain types to work (for example, numeric operators require numbers;0144

the string concatenation operator requires strings to be its operands)--because they require that,0155

PHP does what is known as automatic type conversion.0162

In other languages that aren't weakly-typed, you have to explicitly use...for example, if you are adding integers,0166

you have to explicitly use two variables that are of the data type integer.0174

In PHP, it does that for you automatically.0179

If you try to add two numbers, and they are not both integers, PHP does an automatic conversion for you.0182

We are going to learn a little bit more about the specifics of numeric conversions that it does.0187

For example, when we add two numbers, it requires them to be numbers.0193

If you provide, in PHP, two variables to an addition operator that are not numbers,0196

PHP is automatically going to convert them for you to the appropriate type, and then perform the operation.0202

This automatic conversion is known as what the lesson is titled today, type casting.0208

That is converting data from one data type to another.0213

Because this happens automatically in PHP, PHP has certain rules that it follows when it does this.0218

They may not be that obvious, so it is important that you understand the automatic casting rules that PHP uses,0223

so that you can get expected results.0230

Type casting, as mentioned, is the process of changing a variable from one data type to another data type.0235

This can be either done implicitly, as in automatic type conversion, where PHP converts the data type for you,0241

or you can do it explicitly, where you can explicitly say, "I have a variable that is an integer; I want to make it a float."0250

There are two ways to explicitly cast a variable from one data type to another.0257

You can use parentheses syntax, which we are going to talk about in a second, or the settype function.0262

For example, if we have the variable here int1 that is set equal to the integer literal 1, and we want to make that a float variable,0268

what you can do is: we can create a new variable called float1, and what we do is set it equal to the integer variable name.0277

And then, what we do is: we have parentheses with the word float in between them.0285

What that means is: this parentheses segment right here says, "Take the value of int1, convert it to a float, and then assign it to float1 over here."0291

settype does a similar thing; the way settype works is: it is a function that has two arguments,0303

which we are going to learn more about when we learn more about functions.0310

But for right now, you can just know that you write settype and then a pair of open and closed parentheses.0312

And then, you pass it two pieces of data: you pass it the variable you want to cast (in this case, we are going to cast the variable num),0318

and then you pass in a string that says what you want to cast it to.0326

So, what this operation is going to do is cast the variable num, which maybe is an integer, to a boolean.0330

It is going to change it from a number data type, like an integer data type, to a boolean data type.0338

Now, one thing to note is that, when you use parentheses casting, as up here,0343

it doesn't permanently change the data type of the variable that it's casting.0348

So, when this operation here completes (I'll clean this up a little bit)--when this statement right here completes--int1 is still going to be an integer.0353

It's just that its value was converted to a float before it was assigned to float1; but int1 is still an int.0364

If you use the settype function to explicitly cast it, it changes the type of the variable specified.0370

So, this is essentially the same as if we had used parentheses form.0376

Whereas, up here, the variable to the right of the cast in parentheses--its data type doesn't get changed;0390

down here, because we are assigning it back into the same variable name, its data type does get changed.0400

That is what the settype function does.0405

What are the different casts that you can do in PHP?0409

Well, you can cast between any of the different data types; you can change all of the data types from one to another.0411

Using the parentheses syntax, there are two ways to cast to an integer.0418

You can use int or integer between parentheses, and you just put that before the variable that you want to cast.0421

For float, you can use the word float, double, or real; and those are sort of legacy terms that the floating-point numbers used to be referred to as.0428

But the most typical one you will see will be float.0438

To cast to a string, you just put the word string in parentheses.0440

And just so you know, all of these are unquoted; these aren't previous strings--these are keywords in PHP.0444

So, PHP knows to interpret that as that this is a cast.0450

And then, to cast to boolean, you simply do boolean, or bool.0454

To cast to null, you put the word unset in between parentheses, which is kind of like the unset function we talked about in the lesson on the null data type.0459

The reason it wouldn't normally be null is because we can't use this, because null is another keyword in PHP.0469

As we know, it is the literal value for the null data type; which is why you use unset to cast the variable to null.0479

Something we are not going to really deal with that much, but I'll mention for the sake of completeness, is:0488

you can also cast things to an array, using the word array, and to an object.0494

And the settype function allows all of these same casts; it just uses a different format.0500

So, if we want to cast to string, for example, you would type the function settype, and then we would put the word string in quotation marks,0503

because this function actually needs a second argument to be a string.0519

And in this case, it's a string set to the value string; but we also could...maybe we want to cast string, and we want to cast it to an integer.0526

So, we could put int in it, as well.0537

Let's take a look at some PHP code that uses these in action.0541

Here are some explicit tasks using the parentheses syntax.0547

Here we have a float variable called float1 that we are assigning the literal 1.25.0550

Then, we are going to create an integer variable; its value is the float1 variable's value, cast to an integer.0556

So, it's going to take 1.25, cast it to an integer, and set it equal to int1.0565

And, as mentioned, parentheses syntax doesn't touch the data type of float1; float1 is still a float data type with value 1.25.0571

However, int1 is going to be of the int data type.0582

Then, we go ahead and do another cast: we cast int1, which is an integer, to a string, using the parentheses syntax with the word string in between them.0585

And then, we convert the string to a boolean, using the boolean cast, when we simply put bool in parentheses.0593

If we look at the output of this script, we can see the parentheses syntax we have.0602

We declared a variable float, because it's 1.25; and then we run the var_dump function on that variable float1.0610

And the var_dump, again, outputs the type and value of a variable--it says it's a float variable that is equal to 1.25.0617

Now, in the other line of code, where we have created an integer variable which is the value of the float variable passed to an integer,0625

we can see that int1 is an integer data type, and its value is 1.0633

So, as you can see, one thing you might notice is that it stripped off the .25, because integers are whole numbers, and they can't have fractional parts.0639

When you cast a floating-point number to an integer, it actually strips off the fractional part.0647

And so, that is something important to notice.0654

Also notice, though, that, because this was a parentheses cast, it doesn't change the type of the variable to the right of it.0656

And so, float1 is still a float variable with value 1.25.0664

Now, we are going to go ahead and have int1, which is equal to the value of 1, and we are going to cast it to a string.0669

And we can see down here that that makes this string1 variable of the string data type.0675

And in this case, the var_dump for strings outputs the length of the string, which is one character.0681

Here, what it has done is just taken the number 1 and converted it to a text string, which is just the text representation of the number 1.0688

There is a difference between the number 1, just flat-out, and then the number 1 in quotation marks.0697

The number 1 in quotation marks is a string, and it is treated as such.0705

The number 1, as an integer or a float value, is something you can do arithmetic operations on.0708

And the string version, you can do string operations, like concatenate and stuff.0716

So, that is where data types do become important, in that you might look at the 1 as being the same thing...0719

There is a 1 here and a 1 up here, but they are not quite the same.0726

Then, finally, we did a boolean cast of the string; and we can see that the boolean one has become a bool data type, and its value is true.0731

And if you notice, the string1 is still a string, and it still has the same value.0741

And so, what happened is: when you cast a string value (we are going to learn more about this in a couple upcoming slides),0746

to a boolean, it has certain rules to decide whether it becomes true or false; and the number 1 ends up being true.0756

And so, there are a lot of different rules when it comes to type casting, and it's somewhat complicated.0765

There are a lot of different things to go over, and so, at the end of the lesson, I'm going to have a link to a page on the PHP website0772

where you can read more about it, because there are many, many different scenarios of how casting from one type to another--what actually happens.0779

As mentioned, parentheses syntax does not change the type of the value operated on.0789

It only changes the data type of the value for the assignment operation.0794

If we go back and look at the code again, there is a section created for explicit casts using the settype function.0801

I have done the same kind of thing we have done up here, with the same variables and the same values.0809

We have a float equal to 1.25 that we have cast to an int; then, we have an int equal to 1 that we have cast to a string.0812

A string, which is the text string 1, or the character string, which is just the text character 1--we are converting that to a bool.0820

What we are going to see when we look at it is that, unlike the parentheses syntax, it changes the type of the variable that is passed to the function.0829

So here, we have a float that equals 1.25; when we pass it to the settype function, and we pass it this string parameter,0841

that says int, which means "cast it to an int," float1 now is actually an integer, and it is an integer value of 1.0848

So, the actual data type of float1 changed.0856

Likewise, for all of the other different conversions...when we convert int1 to a string,0861

int1 becomes a string data type with a string which is the number 1.0865

And then, down here, if we have a string that is (I don't know why this is unclear, but it is) the number 1 in between double quotation marks,0871

when we cast that variable to a boolean type, string1 becomes a boolean data type that is true.0878

And so, as mentioned, settype permanently changes the type of the variable that you pass to it when it does a cast.0885

So now, I want to talk about a couple of common conversions.0895

There are many different rules, as I mentioned, that happen when converting from one data type to another.0897

We can't go over all of them, but I'm going to talk about a couple of the more common ones.0902

One of the most common conversions is converting things to strings.0906

And actually, we have already been doing this in our code.0909

We haven't explicitly talked about it, but any time you use double-quoted syntax and variable interpolation,0912

where you have a variable within double-quoted strings, PHP is converting the value of this variable to a string data type.0917

For example, if we had a=1, and then we echoed the variable a in between parentheses,0932

what PHP is going to do is: it is going to go; it is going to get the value of the variable a, which is the integer 1;0943

it is going to cast it to the string data type, because echo only knows how to print out strings;0949

and then, after that cast, then it outputs it.0953

So, some of the common conversions that happen to strings are: if you have an integer or a float, when you convert them to a string0956

(which you have seen in some of the code that we have done, like in our store web application, for example,0965

like the calculation of the price), it takes the number, and it just converts it to its text version.0970

So, 14 becomes the string 14; if we have a float value, like 2.5, that just becomes a string, 2.5.0975

That is a pretty intuitive conversion; some of the less intuitive ones are--if we convert the boolean value true to a string, it becomes the value 1.0989

If we convert a boolean value false, it becomes the empty string, which is just a string with no characters in it.1000

And if you convert null to a string, it also becomes the empty string.1008

For example, let's say we had a boolean variable bool1=true, and then we wanted to output that.1013

We did echo "$bool1"; what it is actually going to output is: it is going to take bool1; it is going to see that it is the value true.1031

It is going to convert it to a string, which, as we can see over here, is 1.1044

So, the output of this is going to be just the string 1.1048

Now, one thing to note here is that, in this echo statement, I have enclosed the variable in double quotation marks.1056

And typically, you wouldn't do that; you would just write echo and then the variable name.1063

You would use the double-quoted syntax when you had other things that you were including in this string here.1070

Like you might say "bool is equal to___" and then output the variable's value.1075

But when you use it in this way, as well, without the double-quoted syntax, because echo works on string values,1079

it is going to implicitly cast this bool data type to a string, which, in this case, becomes 1.1087

This is also going to echo out; it is going to echo out the string 1.1092

There are also some numeric conversions that happen; we talked about one earlier.1099

One of the most important ones is when you convert a float to an integer; it rounds down to 0--it just basically strips off the fractional part.1105

So, if you have a number 1.76, and then you were to cast it, let's say, to an int, then its value would now just be 1.1112

That is something important to note.1123

Now, also, the addition, subtraction, multiplication, and division operators--they all require float operands to operate.1125

So, when you have an addition operation or a multiplication operation--any of these--it takes both the operands,1136

and it converts them to floats, and then performs the operation.1142

Now, because, for example, it is going from int to float, the only other type of number that we would have would be an integer.1148

When we convert that to float, it simply becomes the same number; so 1 as an integer would just become 1.0 as a float.1154

That doesn't really cause any problems, whereas going from float to integer, you end up losing information.1164

So anyway, these operations all convert both of their operands to float values, perform the operation, and then return a float value.1171

The only exception to this is when you have two integers that are evenly divisible; then, it actually returns an integer.1183

The other thing to note, as far as automatic arithmetic conversions go, is using the modulus operator.1192

The modulus operator converts both of its operands to integers before it performs its operations.1199

So, if you had something like 7.5 mod 3.0, PHP would convert them both to integers, so this would actually end up being...1205

We know, when you convert a float to an integer, it strips off the fractional part, so it would become 7 mod 3, which is equal to 1.1218

I want to finish up with talking about some boolean conversions and different rules that apply when you convert certain values to a boolean.1230

Basically, as far as booleans go, any value that you cast to the boolean data type is going to be true, except for these cases right here.1240

If you cast the integer 0 to a boolean, it is going to end up being the boolean value false--1251

likewise, for the float value 0, the empty string (which is just a string with no characters), or a string containing just the number 0, and also null.1259

So, if we were to cast boolean null, the value of a would be false.1269

The rule with boolean conversions is: anything except for these values is going to be interpreted as true.1288

For the homework challenge today, I would like you to go and look at this link on the PHP Manual website.1299

Explore some of the links on this page: it's called Type Juggling.1305

It also has a section in it called Type Casting, which is the heart of the material.1308

Just kind of explore around, because there are a lot of different rules that apply when casting from one data type to another.1314

There are a lot of different intricacies when you go from floats to ints, and then especially...we talked about some of the more common ones:1318

converting floats to ints, converting numbers to strings...1324

But then, you can also do things like convert strings to numbers, convert numbers to booleans, and so forth.1329

And there are all sorts of different rules that apply, and so, in order to know exactly1335

what PHP is going to be doing when you use these operations, you have to refer to the website1339

to find out all of the different things that happen.1344

And the rules aren't too many, but they are somewhat complicated, and so it would be a good idea to go and review them before you start using them.1347

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

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.