Unit 5 - PHP - Hello World! - Data types - Control structures

advertisement
PHP
PHP
Hypertext
Pre-processor
Unit 6 - PHP
- Hello World!
- Data types
- Control structures
- Operators
Why do we need PHP?
●
Dynamic data-driven web sites
–
–
●
Display dynamic information to users
Collect information from users
Examples:
–
–
–
–
Online shopping site
Web forum
Newspaper site
etc
Options
●
●
●
●
●
●
Perl
Microsoft ASP.NET
JSP
ColdFusion
XSLT
others
PHP Strengths
●
●
●
●
●
●
●
High Performance
Interfaces with many database systems
Built-in libraries
Low cost
Open source
Support
Easy to learn and use
What is PHP?
●
●
●
●
●
Server-side scripting language
Conceived in 1994
Open Source
Current version is 5
Reference page: http://www.php.net
How to use this lecture
●
●
●
●
●
Just listen to it
You won’t remember everything – that’s
ok. That’s normal.
Ask questions if they occur to you.
Refer back to this presentation if you
need to.
Or refer to: http://www.php.net
How it works
●
●
●
●
●
Client requests document
Server loads document in memory
Server processes document with
relevant module (PHP)
Server sends HTML document to client
Client displays document
Hello World!
Hello World!
<html>
<body>
Hello World!
</body>
</html>
Output
Hello World!
Hello World!
<html>
<body>
<?php echo 'Hello World'; ?>
</body>
</html>
Output 1
<html>
<body>
Hello World
</body>
</html>
Output 2
Hello World
Hello World!
<html>
<body>
<?php echo "<p><i>Hello</i>
<b>World</b></p>" ?>
</body>
</html>
Output 1
<html>
<body>
<p><i>Hello</i> <b>World</b></p>
</body>
</html>
Output 2
Hello World
PHP Basics
PHP Syntax basics
●
●
●
PHP code embedded in <?php … ?>
Files containing PHP code must have a .php extension (or
php3, etc)
Syntax very similar to C and Java
–
–
Statements delimited by ;
Comments as in C/Java:
●
●
–
●
But also: # comment
Variables preceded by $, for example:
–
–
●
/* comment */
// comment
$x = 2;
$first_name = joe;
More on variables later …
Data Types
Data types
●
●
●
●
●
●
Integer – for whole numbers
Float – for real numbers
String – for strings of characters
Boolean – for true or false values
Array – For collections of data
Object – For OO programming
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo $first_name;
?>
Output:
John
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo '$first_name';
?>
Output:
$first_name
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo "$first_name";
?>
Output:
John
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo "Your name is:
$first_name $last_name";
?>
Output:
Your name is: John Doe
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo "You said: \"my name is
$first_name $last_name\"";
?>
Output:
Your said: “my name is John Doe”
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo "... And you are worth
\$2M";
?>
Output:
... And you are worth $2M
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo $first_name[0];
?>
Output:
J
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo substr('abcdef', 1, 4);
?>
Output:
bcde
Strings
<?php
$first_name = 'John';
$last_name = 'Doe';
echo substr($first_name, 0, 6);
?>
Output:
? (guess and write it down)
Strings
●
●
No / Single / Double quote
String type:
http://uk.php.net/manual/en/language.types.string.php
●
Functions available:
http://uk.php.net/strings
Integers and Floats
<?php
$a = 1234;
$b = 12.02;
?>
●
Integer type:
http://uk.php.net/manual/en/language.types.integer.php
●
Float type:
http://uk.php.net/manual/en/language.types.float.php
Boolean
●
●
Logical operators:
– And: &&
– Or: ¦¦
– Not: !
Boolean type:
http://uk.php.net/manual/en/language.types.boolean.php
Array
id
First Name
Last Name
Job
1
Joe
Smith
Surgeon
2
John
Johnson
Nurse
3
Jack
Jackson
Consultant
4
Jim
Jones
IT
Array
•
•
•
•
Fundamental data structure in PHP
Used to store collections of values
Multidimensional array: array that
contains arrays.
Different types of arrays:
1.
2.
3.
Numerically indexed arrays
Non-numerically indexed arrays
Does it make any difference?
1. Numerically indexed array
<?php
$names = array('Joe','John',
'Jack','Jim' );
echo $names[1];
?>
Output:
John
2. Non-numerically indexed
array
<?php
$record = array(
firstName => 'John',
lastName => 'Smith');
echo $record[lastName];
?>
Output:
Smith
3. Key-value pairs
<?php
$arr = array(
0 => 'Joe',
1 => 'John',
2 => 'Jack',
3 => 'Jim' );
echo $arr[1];
?>
Output:
…
Multidimensional arrays
<?php
$record = array(
array(firstName => 'Joe',
lastName => "McDonald"),
array(firstName => 'John',
lastName => "Smith"),
array(firstName => 'Jack',
lastName => "Black")
);
/* i.e. an array of arrays */
Multidimensional arrays
...
echo $record[1][lastName];
echo '<br/>';
echo $record[1][1];
?>
Output:
…
Operators
Directed study
http://uk.php.net/manual/en/language.operators.php
Control structures
http://uk.php.net/manual/en/language.control-structures.php
if, else, elseif
<?php
$value = 24;
if ($value < 20)
echo “not enough!”;
elseif ($value < 30)
echo “reasonable.”;
elseif ($value < 40)
echo “perfect!”;
else
echo “Too much!”;
?>
switch
<?php
switch ($value){
case 24:
echo "Correct!";
break;
case 25:
echo "Almost correct!";
break;
default:
echo "Too much!";
}?>
for
<?php
= 1; $i <= 10; $i++)
for ($i
(
{
echo $i;
}
?>
Output:
12345678910
foreach
<?php
$arr = array("one", "two", "three");
echo "Using a for loop:<br />\n";
for ($i = 0; $i < sizeof($arr); $i++) {
echo "Value: $arr[$i]<br />\n";
}
echo "Using a foreach loop:<br />\n";
foreach ($arr as $value) {
echo "Value: $value<br />\n";
?>
}
while
<?php
$i = 1;
while ($i <= 10) {
echo $i;
i++;
}
Output:
12345678910
Summary
●
●
●
●
Basics
Data types
Control structures
Operators - Directed study:
– Arithmetic operators
– Comparison operators
– Logical operators
– String operators
http://uk.php.net/manual/en/language.operators.php
Download