WebDevelopmet Lec3
WebDevelopmet Lec3
System
System
C uses curly
braces { } for
code blocks.
Scripting/
Interpreted
http://en.wikipedia.org/wiki/History_of_programming_languages
Philosophy of PHP
• You are a responsible and intelligent programmer.
• You know what you want to do.
• Some flexibility in syntax is OK - style choices are OK.
• Let’s make this as convenient as possible.
• Sometimes errors fail silently.
<h1>Hello from Dr. Chuck's HTML Page</h1>
<p>
<?php
echo "Hi there.\n";
$answer = 6 * 7;
echo "The answer is $answer, what ";
echo "was the question again?\n";
?>
</p>
<p>Yes another paragraph.</p>
<h1>Hello from Dr. Chuck's HTML Page</h1>
<p>
<?php
echo "Hi there.\n";
$answer = 6 * 7;
echo "The answer is $answer, what ";
echo "was the question again?\n";
?>
</p>
<p>Yes another paragraph.</p>
PHP from the Command Line
• You can run PHP from the <?php
echo("Hello World!");
command line - the output
echo("\n");
simply comes out on the ?>
terminal.
• It does not have to be part
of a request-response cycle.
PHP Variables
• PHP variables
All PHP variables begin with the $
• Variable names can begin with an underscore
• Otherwise rules are similar to most other languages
Variables are dynamically typed
• No type declarations
Variables are BOUND or UNBOUND
>Unbound variables have the value NULL
Variable Names
• Start with a dollar sign ($) followed by a letter or underscore,
followed by any number of letters, numbers, or underscores
• Case matters
http://php.net/manual/en/language.variables.basics.php
Variable Name Weirdness
Things that look like variables but are missing a dollar sign can be
confusing.
$x = 2; $x = 2;
$y = x + 5; y = $x + 5;
print $y; print $x;
5 Parse error
Strings / Different + Awesome
• String literals can use single quotes or double quotes.
• The backslash (\) is used as an “escape” character.
• Strings can span multiple lines - the newline is part of the
string.
• In double-quoted strings, variable values are expanded.
• Concatenation is the "." not "+" (more later).
Comments in PHP ☺
echo 'This is a test'; // This is a c++ style comment
/* This is a multi line comment
yet another line of comment */
echo 'This is yet another test';
echo 'One Final Test'; # This is a shell-style comment
Output
• echo is a language construct - can <?php
$x = "15" + 27;
be treated like a function with
echo $x;
one parameter. Without echo("\n");
parentheses, it accepts multiple echo $x, "\n";
parameters. print $x;
print "\n";
• print is a function - only one print($x);
parameter, but parentheses are print("\n");
optional so it can look like a ?>
language construct.
Expressions
• Completely normal like other languages ( + - / * )
• More aggressive implicit type conversion
<?php
$x = "15" + 27;
echo($x); 42
echo("\n");
?>
Expressions
• Expressions evaluate to a value. The value can be a string,
number, boolean, etc.
• Expressions often use operations and function calls. There is
an order of evaluation when there is more than one operator
in an expression.
• Expressions can also produce objects like arrays.
Operators of Note
• Increment / Decrement ( ++ -- )
• String concatenation ( . )
• Equality ( == != )
• Identity ( === !== )
• Ternary ( ? : )
• Side-effect Assignment ( += -= .= etc.)
• Ignore the rarely-used bitwise operators ( >> << ^ | & )
Increment / Decrement
• These operators allow you to both retrieve and increment /
decrement a variable.
• They are generally avoided in civilized code.
$x = 12;
$y = 15 + $x++; x is 13 and y is 27
echo "x is $x and y is $y \n";
Increment / Decrement
• These operators allow you to both retrieve and increment /
decrement a variable.
• They are generally avoided in civilized code.
$x = 12;
$y = 15 + $x; x is 13 and y is 27
$x = $x + 1;
echo "x is $x and y is $y \n";
String Concatenation
PHP uses the period character for concatenation, because the
plus character would instruct PHP to do the best it could to add
the two things together, converting if necessary.
X: 125 X: 125
Y: 10025 Y: 10025
Z: 25 Traceback:"cast.py", line 5
z = int("sam") + 25;
ValueError: invalid literal
Control Structures
PHP Control Structures
Again, these are similar to those in C++ / Java
•if, while, do, for, switch are virtually identical to those in C++ and
Java
•PHP allows for an alternative syntax to designate a block in the if,
while, for and switch statements
Open the block with : rather than {
Close the block with endif, endwhile, endfor, endswitch
>Advantage to this syntax is readability
>Now instead of seeing a number of close braces, we see
different keywords to close different types of control structures
Conditional - if
• Logical operators ( == != < > <= >= && || ! )
• Curly braces
<?php
$ans = 42;
if ( $ans == 42 ) {
print "Hello world!\n";
} else {
print "Wrong answer\n"; Hello World!
}
?>
Multi-way x<2
yes
print 'Small'
$x = 7; no
yes
if ( $x < 2 ) {
x<10 print 'Medium'
print "Small\n";
} elseif ( $x < 10 ) { no
print "Medium\n";
} else { print 'LARGE'
print "LARGE\n";
}
• It is like a loop test that can happen anywhere in the body of the loop.
for($count=1; $count<=600; $count++ ) { Count: 1
if ( $count == 5 ) break; Count: 2
echo "Count: $count\n"; Count: 3
} Count: 4
echo "Done\n"; Done
Finishing an Iteration with continue
The continue statement ends the current iteration. jumps to the top of
the loop, and starts the next iteration.
Count: 1
for($count=1; $count<=10; $count++ ) { Count: 3
if ( ($count % 2) == 0 ) continue; Count: 5
echo "Count: $count\n"; Count: 7
} Count: 9
echo "Done\n"; Done
PHP Functions
35
PHP Functions
36
(.) It is used to
concatenate
(join together)
two strings.
PHP Arrays
37
sizeof($arr); = count($arr);
is_array($arr) ? 'Array' : 'not an Array';
in_array($var, $arr) ? 'Added' : 'Not yet! ';
print_r($arr); //like foreach (But separated objects)
array_merge($arr1, $arr2);
array_push($arr, $val);
array_pop($arr); //Removes the last item in array
array_shift($arr); //Removes the first item in array
sort($arr); // string value array, values are sorted in
ascending alphabetical order.
PHP String Functions
40
strlen($str);
str_word_count($str);
strpos($str, $text);
str_replace($replacethis, $replacewith, $str);
str_repeat($str, $counter); //repeat some str no. of times
substr($str, $start_pos, $length);// length of substring
explode(separator, $str);// break a string
implode(separator, $arr)// join string using separator.
Examples about PHP functions
41
Function with two arguments example
42
Arrays
An array in PHP is actually an ordered map.
A map is a type that associates values to keys.
Output: Array (
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Creating & printing Arrays
// Create an array with forced indices.
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
Array (
Output: [0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)
Foreach loop on Array
The most common use of the foreach loop, is to loop through the items of an array.