SlideShare a Scribd company logo
Arrays
Strings and regular expressions
Basic PHP Syntax
CS380
1
Arrays
2
 Append: use bracket notation without specifying an
index
 Element type is not specified; can mix types
$name = array(); # create
$name = array(value0, value1, ..., valueN);
$name[index] # get element value
$name[index] = value; # set element value
$name[] = value; # append PHP
CS380
$a = array(); # empty array (length 0)
$a[0] = 23; # stores 23 at index 0 (length 1)
$a2 = array("some", "strings", "in", "an", "array");
$a2[] = "Ooh!"; # add string to end (at index 5)
PHP
Array functions
3
function name(s) description
count
number of elements in the
array
print_r print array's contents
array_pop, array_push,
array_shift, array_unshift
using array as a stack/queue
in_array, array_search,
array_reverse,
sort, rsort, shuffle
searching and reordering
array_fill, array_merge,
array_intersect,
array_diff, array_slice, range
creating, filling, filtering
array_sum, array_product,
array_unique, processing elements
Array function example
4
 the array in PHP replaces many other collections in Java
 list, stack, queue, set, map, ...
$tas = array("MD", "BH", "KK", "HM", "JP");
for ($i = 0; $i < count($tas); $i++) {
$tas[$i] = strtolower($tas[$i]);
}
$morgan = array_shift($tas);
array_pop($tas);
array_push($tas, "ms");
array_reverse($tas);
sort($tas);
$best = array_slice($tas, 1, 2);
PHP
CS380
foreach loop
5
foreach ($array as $variableName) {
...
} PHP
CS380
$fellowship = array(“Frodo", “Sam", “Gandalf",
“Strider", “Gimli", “Legolas", “Boromir");
print “The fellowship of the ring members are: n";
for ($i = 0; $i < count($fellowship); $i++) {
print "{$fellowship[$i]}n";
}
print “The fellowship of the ring members are: n";
foreach ($fellowship as $fellow) {
print "$fellown";
} PHP
Multidimensional Arrays
6
<?php $AmazonProducts = array( array(“BOOK",
"Books", 50),
array("DVDs",
“Movies", 15),
array(“CDs", “Music",
20)
);
for ($row = 0; $row < 3; $row++) {
for ($column = 0; $column < 3; $column++) { ?>
<p> | <?=
$AmazonProducts[$row][$column] ?>
<?php } ?>
</p>
<?php } ?>
PHP
CS380
Multidimensional Arrays (cont.)
7
<?php $AmazonProducts = array( array(“Code” =>“BOOK",
“Description” => "Books", “Price” => 50),
array(“Code” => "DVDs",
“Description” => “Movies", “Price” => 15),
array(“Code” => “CDs",
“Description” => “Music", “Price” => 20)
);
for ($row = 0; $row < 3; $row++) { ?>
<p> | <?= $AmazonProducts[$row][“Code”] ?> | <?=
$AmazonProducts[$row][“Description”] ?> | <?=
$AmazonProducts[$row][“Price”] ?>
</p>
<?php } ?>
PHP
CS380
String compare functions
8
Name Function
strcmp compareTo
strstr, strchr
find string/char within a
string
strpos
find numerical position of
string
str_replace, substr_replace replace string
 Comparison can be:
 Partial matches
 Others
 Variations with non case sensitive functions
 strcasecmp
String compare functions
examples
9
$offensive = array( offensive word1, offensive
word2);
$feedback = str_replace($offcolor, “%!@*”,
$feedback);
PHP
CS380
$test = “Hello World! n”;
print strpos($test, “o”);
print strpos($test, “o”, 5); PHP
$toaddress = “feedback@example.com”;
if(strstr($feedback, “shop”)
$toaddress = “shop@example.com”;
else if(strstr($feedback, “delivery”)
$toaddress = “fulfillment@example.com”;
PHP
Regular expressions
10
[a-z]at #cat, rat, bat…
[aeiou]
[a-zA-Z]
[^a-z] #not a-z
[[:alnum:]]+ #at least one alphanumeric char
(very) *large #large, very very very large…
(very){1, 3} #counting “very” up to 3
^bob #bob at the beginning
com$ #com at the end PHPRegExp
 Regular expression: a pattern in a piece of text
 PHP has:
 POSIX
 Perl regular expressions
CS380
Embedded PHP
11
CS380
Printing HTML tags in PHP =
bad style
12
<?php
print "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN"n";
print "
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">n";
print "<html xmlns="http://www.w3.org/1999/xhtml">n";
print " <head>n";
print " <title>Geneva's web page</title>n";
...
for ($i = 1; $i <= 10; $i++) {
print "<p> I can count to $i! </p>n";
}
?> HTML
 best PHP style is to minimize print/echo statements in
embedded PHP code
 but without print, how do we insert dynamic content into
the page?
PHP expression blocks
13
 PHP expression block: a small piece of PHP that
evaluates and embeds an expression's value into HTML
 <?= expression ?> is equivalent to:
<?= expression ?> PHP
CS380
<h2> The answer is <?= 6 * 7 ?> </h2>
PHP
The answer is 42
output
<?php print expression; ?>
PHP
Expression block example
14
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>CSE 190 M: Embedded PHP</title></head>
<body>
<?php
for ($i = 99; $i >= 1; $i--) {
?>
<p> <?= $i ?> bottles of beer on the wall, <br />
<?= $i ?> bottles of beer. <br />
Take one down, pass it around, <br />
<?= $i - 1 ?> bottles of beer on the wall. </p>
<?php
}
?>
</body>
</html> PHP
Common errors: unclosed
braces, missing = sign
15
...
<body>
<p>Watch how high I can count:
<?php
for ($i = 1; $i <= 10; $i++) {
?>
<? $i ?>
</p>
</body>
</html> PHP
 if you forget to close your braces, you'll see an error
about 'unexpected $end'
 if you forget = in <?=, the expression does not produce
any output
CS380
Complex expression blocks
16
...
<body>
<?php
for ($i = 1; $i <= 3; $i++) {
?>
<h<?= $i ?>>This is a level <?= $i ?>
heading.</h<?= $i ?>>
<?php
}
?>
</body> PHP
CS380
This is a level 1 heading.
This is a level 2 heading.
This is a level 3 heading. output
Functions
Advanced PHP Syntax
17
CS380
Functions
18
function name(parameterName, ..., parameterName) {
statements;
} PHP
CS380
function quadratic($a, $b, $c) {
return -$b + sqrt($b * $b - 4 * $a * $c) / (2
* $a);
} PHP
 parameter types and return types are not written
 a function with no return statements implicitly returns
NULL
Default Parameter Values
19
function print_separated($str, $separator = ", ") {
if (strlen($str) > 0) {
print $str[0];
for ($i = 1; $i < strlen($str); $i++) {
print $separator . $str[$i];
}
}
} PHP
CS380
print_separated("hello"); # h, e, l, l, o
print_separated("hello", "-"); # h-e-l-l-o
PHP
 if no value is passed, the default will be used
PHP Arrays Ex. 1
 Arrays allow you to assign multiple values to one
variable. For this PHP exercise, write an array variable
of weather conditions with the following values: rain,
sunshine, clouds, hail, sleet, snow, wind. Using the array
variable for all the weather conditions, echo the following
statement to the browser:
We've seen all kinds of weather this month. At the
beginning of the month, we had snow and wind. Then
came sunshine with a few clouds and some rain. At least
we didn't get any hail or sleet.
 Don't forget to include a title for your page, both in the
header and on the page itself.
CS380
20
PHP Arrays Ex. 2
 For this exercise, you will use a list of ten of the largest
cities in the world. (Please note, these are not the ten
largest, just a selection of ten from the largest cities.)
Create an array with the following values: Tokyo, Mexico
City, New York City, Mumbai, Seoul, Shanghai, Lagos,
Buenos Aires, Cairo, London.
 Print these values to the browser separated by commas,
using a loop to iterate over the array. Sort the array, then
print the values to the browser in an unordered list,
again using a loop.
 Add the following cities to the array: Los Angeles,
Calcutta, Osaka, Beijing. Sort the array again, and print
it once more to the browser in an unordered list.
CS380
21

More Related Content

PPTX
Presentaion
CBRIARCSC
 
PPTX
07 php
CBRIARCSC
 
PPTX
Php Syntax Basics in one single course in nutshell
binzbinz3
 
PPTX
PHP (Hypertext Preprocessor) is a popular open-source server-side scripting l...
jinijames109
 
PPTX
06-PHPIntroductionserversicebasicss.pptx
20521742
 
PPTX
PHPneweeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pptx
kamalsmail1
 
PPTX
Php
Richa Goel
 
PPT
introduction to php web programming 2024.ppt
idaaryanie
 
Presentaion
CBRIARCSC
 
07 php
CBRIARCSC
 
Php Syntax Basics in one single course in nutshell
binzbinz3
 
PHP (Hypertext Preprocessor) is a popular open-source server-side scripting l...
jinijames109
 
06-PHPIntroductionserversicebasicss.pptx
20521742
 
PHPneweeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pptx
kamalsmail1
 
introduction to php web programming 2024.ppt
idaaryanie
 

Similar to overview of php php basics datatypes arrays (20)

PDF
lab4_php
tutorialsruby
 
PDF
lab4_php
tutorialsruby
 
PPT
PHP - Introduction to PHP - Mazenet Solution
Mazenetsolution
 
PPT
PHP and MySQL with snapshots
richambra
 
PDF
Php Tutorials for Beginners
Vineet Kumar Saini
 
PDF
php AND MYSQL _ppt.pdf
SVN Polytechnic Kalan Sultanpur UP
 
PPTX
Php
Yoga Raja
 
PPTX
08 php-files
hoangphuc2587
 
PPTX
Php by shivitomer
Shivi Tomer
 
PPTX
Php functions
JIGAR MAKHIJA
 
PDF
Web app development_php_04
Hassen Poreya
 
PPT
Php(report)
Yhannah
 
PPT
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
PPT
PHP - Web Development
Niladri Karmakar
 
PPT
PHP-01-Overview.pptfreeforeveryonecomenow
oliverrobertjames
 
PDF
PHP Tips & Tricks
Radek Benkel
 
PDF
07 Introduction to PHP #burningkeyboards
Denis Ristic
 
PPT
Synapse india complain sharing info about php chaptr 26
SynapseindiaComplaints
 
PPT
Php course-in-navimumbai
vibrantuser
 
lab4_php
tutorialsruby
 
lab4_php
tutorialsruby
 
PHP - Introduction to PHP - Mazenet Solution
Mazenetsolution
 
PHP and MySQL with snapshots
richambra
 
Php Tutorials for Beginners
Vineet Kumar Saini
 
php AND MYSQL _ppt.pdf
SVN Polytechnic Kalan Sultanpur UP
 
08 php-files
hoangphuc2587
 
Php by shivitomer
Shivi Tomer
 
Php functions
JIGAR MAKHIJA
 
Web app development_php_04
Hassen Poreya
 
Php(report)
Yhannah
 
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
PHP - Web Development
Niladri Karmakar
 
PHP-01-Overview.pptfreeforeveryonecomenow
oliverrobertjames
 
PHP Tips & Tricks
Radek Benkel
 
07 Introduction to PHP #burningkeyboards
Denis Ristic
 
Synapse india complain sharing info about php chaptr 26
SynapseindiaComplaints
 
Php course-in-navimumbai
vibrantuser
 
Ad

More from yatakonakiran2 (20)

PPTX
Java Flow Controls.pptxJava Flow Controls.pptxJava Flow Controls.pptx
yatakonakiran2
 
PPTX
Data-Types-in-C-Programming.Programming.pptxProgramming.pptxpptx
yatakonakiran2
 
PPTX
StringBuffer examples.pptxStringBuffer examples.pptxStringBuffer examples.pptx
yatakonakiran2
 
PPTX
String and StringBufferString and StringBuffer e examples.pptx
yatakonakiran2
 
PPTX
OOP_Java_Part2.pptxOOP_Java_Part1OOP_Java_Part1
yatakonakiran2
 
PPTX
OOP_Java_Part1OOP_Java_Part1OOP_Java_Part1.pptx
yatakonakiran2
 
PPTX
Java_Arrays_Presentation-2aaaaaaaaaa.pptx
yatakonakiran2
 
PPTX
Java_Arrays_Paaaaaaaaaaresentation-1.pptx
yatakonakiran2
 
PPT
Java Fundamentals.pptJava Fundamentals.ppt
yatakonakiran2
 
PPTX
Operating_Systems_UNIT_Concept of an Operating System1.pptx
yatakonakiran2
 
PPTX
array2.pptxarrays conceptsarrays conceptsarrays concepts
yatakonakiran2
 
PPTX
array1.pptarrays conceptsarrays conceptsarrays concepts
yatakonakiran2
 
PPTX
a21.pptxa24.pptxArrays122a24.pptxArrays111
yatakonakiran2
 
PPTX
a1.pptxArrays1Arrays1Arrays1Arrays1Arrays1
yatakonakiran2
 
PPTX
c2ppt.pptxslidenoteseceslidenoteseceslidenoteseceslidenoteseceslidenotesece
yatakonakiran2
 
PPTX
c first pres.pptxslidenoteseceslidenoteseceslidenotesece
yatakonakiran2
 
PPTX
Arrays-from-Basics-to-Advanced final.pptx
yatakonakiran2
 
DOC
CPDS1-8UNITS.docCPDS1-8UNITS.CPDS1-8UNITS.docdoc
yatakonakiran2
 
DOCX
data structures Unit 3 notes.docxdata structures Unit 3 notes.docx
yatakonakiran2
 
PPT
into python.pptinto python.pptinto python.ppt
yatakonakiran2
 
Java Flow Controls.pptxJava Flow Controls.pptxJava Flow Controls.pptx
yatakonakiran2
 
Data-Types-in-C-Programming.Programming.pptxProgramming.pptxpptx
yatakonakiran2
 
StringBuffer examples.pptxStringBuffer examples.pptxStringBuffer examples.pptx
yatakonakiran2
 
String and StringBufferString and StringBuffer e examples.pptx
yatakonakiran2
 
OOP_Java_Part2.pptxOOP_Java_Part1OOP_Java_Part1
yatakonakiran2
 
OOP_Java_Part1OOP_Java_Part1OOP_Java_Part1.pptx
yatakonakiran2
 
Java_Arrays_Presentation-2aaaaaaaaaa.pptx
yatakonakiran2
 
Java_Arrays_Paaaaaaaaaaresentation-1.pptx
yatakonakiran2
 
Java Fundamentals.pptJava Fundamentals.ppt
yatakonakiran2
 
Operating_Systems_UNIT_Concept of an Operating System1.pptx
yatakonakiran2
 
array2.pptxarrays conceptsarrays conceptsarrays concepts
yatakonakiran2
 
array1.pptarrays conceptsarrays conceptsarrays concepts
yatakonakiran2
 
a21.pptxa24.pptxArrays122a24.pptxArrays111
yatakonakiran2
 
a1.pptxArrays1Arrays1Arrays1Arrays1Arrays1
yatakonakiran2
 
c2ppt.pptxslidenoteseceslidenoteseceslidenoteseceslidenoteseceslidenotesece
yatakonakiran2
 
c first pres.pptxslidenoteseceslidenoteseceslidenotesece
yatakonakiran2
 
Arrays-from-Basics-to-Advanced final.pptx
yatakonakiran2
 
CPDS1-8UNITS.docCPDS1-8UNITS.CPDS1-8UNITS.docdoc
yatakonakiran2
 
data structures Unit 3 notes.docxdata structures Unit 3 notes.docx
yatakonakiran2
 
into python.pptinto python.pptinto python.ppt
yatakonakiran2
 
Ad

Recently uploaded (20)

PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
PDF
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
PDF
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
How to Seamlessly Integrate Salesforce Data Cloud with Marketing Cloud.pdf
NSIQINFOTECH
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PPTX
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Exploring AI Agents in Process Industries
amoreira6
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
jamescantor38
 
QAware_Mario-Leander_Reimer_Architecting and Building a K8s-based AI Platform...
QAware GmbH
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
How to Seamlessly Integrate Salesforce Data Cloud with Marketing Cloud.pdf
NSIQINFOTECH
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Presentation about variables and constant.pptx
kr2589474
 
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
oapresentation.pptx
mehatdhavalrajubhai
 
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
Services offered by Dynamic Solutions in Pakistan
DaniyaalAdeemShibli1
 

overview of php php basics datatypes arrays

  • 1. Arrays Strings and regular expressions Basic PHP Syntax CS380 1
  • 2. Arrays 2  Append: use bracket notation without specifying an index  Element type is not specified; can mix types $name = array(); # create $name = array(value0, value1, ..., valueN); $name[index] # get element value $name[index] = value; # set element value $name[] = value; # append PHP CS380 $a = array(); # empty array (length 0) $a[0] = 23; # stores 23 at index 0 (length 1) $a2 = array("some", "strings", "in", "an", "array"); $a2[] = "Ooh!"; # add string to end (at index 5) PHP
  • 3. Array functions 3 function name(s) description count number of elements in the array print_r print array's contents array_pop, array_push, array_shift, array_unshift using array as a stack/queue in_array, array_search, array_reverse, sort, rsort, shuffle searching and reordering array_fill, array_merge, array_intersect, array_diff, array_slice, range creating, filling, filtering array_sum, array_product, array_unique, processing elements
  • 4. Array function example 4  the array in PHP replaces many other collections in Java  list, stack, queue, set, map, ... $tas = array("MD", "BH", "KK", "HM", "JP"); for ($i = 0; $i < count($tas); $i++) { $tas[$i] = strtolower($tas[$i]); } $morgan = array_shift($tas); array_pop($tas); array_push($tas, "ms"); array_reverse($tas); sort($tas); $best = array_slice($tas, 1, 2); PHP CS380
  • 5. foreach loop 5 foreach ($array as $variableName) { ... } PHP CS380 $fellowship = array(“Frodo", “Sam", “Gandalf", “Strider", “Gimli", “Legolas", “Boromir"); print “The fellowship of the ring members are: n"; for ($i = 0; $i < count($fellowship); $i++) { print "{$fellowship[$i]}n"; } print “The fellowship of the ring members are: n"; foreach ($fellowship as $fellow) { print "$fellown"; } PHP
  • 6. Multidimensional Arrays 6 <?php $AmazonProducts = array( array(“BOOK", "Books", 50), array("DVDs", “Movies", 15), array(“CDs", “Music", 20) ); for ($row = 0; $row < 3; $row++) { for ($column = 0; $column < 3; $column++) { ?> <p> | <?= $AmazonProducts[$row][$column] ?> <?php } ?> </p> <?php } ?> PHP CS380
  • 7. Multidimensional Arrays (cont.) 7 <?php $AmazonProducts = array( array(“Code” =>“BOOK", “Description” => "Books", “Price” => 50), array(“Code” => "DVDs", “Description” => “Movies", “Price” => 15), array(“Code” => “CDs", “Description” => “Music", “Price” => 20) ); for ($row = 0; $row < 3; $row++) { ?> <p> | <?= $AmazonProducts[$row][“Code”] ?> | <?= $AmazonProducts[$row][“Description”] ?> | <?= $AmazonProducts[$row][“Price”] ?> </p> <?php } ?> PHP CS380
  • 8. String compare functions 8 Name Function strcmp compareTo strstr, strchr find string/char within a string strpos find numerical position of string str_replace, substr_replace replace string  Comparison can be:  Partial matches  Others  Variations with non case sensitive functions  strcasecmp
  • 9. String compare functions examples 9 $offensive = array( offensive word1, offensive word2); $feedback = str_replace($offcolor, “%!@*”, $feedback); PHP CS380 $test = “Hello World! n”; print strpos($test, “o”); print strpos($test, “o”, 5); PHP $toaddress = “[email protected]”; if(strstr($feedback, “shop”) $toaddress = “[email protected]”; else if(strstr($feedback, “delivery”) $toaddress = “[email protected]”; PHP
  • 10. Regular expressions 10 [a-z]at #cat, rat, bat… [aeiou] [a-zA-Z] [^a-z] #not a-z [[:alnum:]]+ #at least one alphanumeric char (very) *large #large, very very very large… (very){1, 3} #counting “very” up to 3 ^bob #bob at the beginning com$ #com at the end PHPRegExp  Regular expression: a pattern in a piece of text  PHP has:  POSIX  Perl regular expressions CS380
  • 12. Printing HTML tags in PHP = bad style 12 <?php print "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"n"; print " "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">n"; print "<html xmlns="http://www.w3.org/1999/xhtml">n"; print " <head>n"; print " <title>Geneva's web page</title>n"; ... for ($i = 1; $i <= 10; $i++) { print "<p> I can count to $i! </p>n"; } ?> HTML  best PHP style is to minimize print/echo statements in embedded PHP code  but without print, how do we insert dynamic content into the page?
  • 13. PHP expression blocks 13  PHP expression block: a small piece of PHP that evaluates and embeds an expression's value into HTML  <?= expression ?> is equivalent to: <?= expression ?> PHP CS380 <h2> The answer is <?= 6 * 7 ?> </h2> PHP The answer is 42 output <?php print expression; ?> PHP
  • 14. Expression block example 14 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>CSE 190 M: Embedded PHP</title></head> <body> <?php for ($i = 99; $i >= 1; $i--) { ?> <p> <?= $i ?> bottles of beer on the wall, <br /> <?= $i ?> bottles of beer. <br /> Take one down, pass it around, <br /> <?= $i - 1 ?> bottles of beer on the wall. </p> <?php } ?> </body> </html> PHP
  • 15. Common errors: unclosed braces, missing = sign 15 ... <body> <p>Watch how high I can count: <?php for ($i = 1; $i <= 10; $i++) { ?> <? $i ?> </p> </body> </html> PHP  if you forget to close your braces, you'll see an error about 'unexpected $end'  if you forget = in <?=, the expression does not produce any output CS380
  • 16. Complex expression blocks 16 ... <body> <?php for ($i = 1; $i <= 3; $i++) { ?> <h<?= $i ?>>This is a level <?= $i ?> heading.</h<?= $i ?>> <?php } ?> </body> PHP CS380 This is a level 1 heading. This is a level 2 heading. This is a level 3 heading. output
  • 18. Functions 18 function name(parameterName, ..., parameterName) { statements; } PHP CS380 function quadratic($a, $b, $c) { return -$b + sqrt($b * $b - 4 * $a * $c) / (2 * $a); } PHP  parameter types and return types are not written  a function with no return statements implicitly returns NULL
  • 19. Default Parameter Values 19 function print_separated($str, $separator = ", ") { if (strlen($str) > 0) { print $str[0]; for ($i = 1; $i < strlen($str); $i++) { print $separator . $str[$i]; } } } PHP CS380 print_separated("hello"); # h, e, l, l, o print_separated("hello", "-"); # h-e-l-l-o PHP  if no value is passed, the default will be used
  • 20. PHP Arrays Ex. 1  Arrays allow you to assign multiple values to one variable. For this PHP exercise, write an array variable of weather conditions with the following values: rain, sunshine, clouds, hail, sleet, snow, wind. Using the array variable for all the weather conditions, echo the following statement to the browser: We've seen all kinds of weather this month. At the beginning of the month, we had snow and wind. Then came sunshine with a few clouds and some rain. At least we didn't get any hail or sleet.  Don't forget to include a title for your page, both in the header and on the page itself. CS380 20
  • 21. PHP Arrays Ex. 2  For this exercise, you will use a list of ten of the largest cities in the world. (Please note, these are not the ten largest, just a selection of ten from the largest cities.) Create an array with the following values: Tokyo, Mexico City, New York City, Mumbai, Seoul, Shanghai, Lagos, Buenos Aires, Cairo, London.  Print these values to the browser separated by commas, using a loop to iterate over the array. Sort the array, then print the values to the browser in an unordered list, again using a loop.  Add the following cities to the array: Los Angeles, Calcutta, Osaka, Beijing. Sort the array again, and print it once more to the browser in an unordered list. CS380 21

Editor's Notes

  • #5: Maybe delete the comments that give out the output # ("md", "bh", "kk", "hm", "jp") # ("bh", "kk", "hm") # ("bh", "kk", "hm", "ms") # ("ms", "hm", "kk", "bh") # ("bh", "hm", "kk", "ms") # ("hm", "kk")
  • #6: One bad thing with foreach: you cannot change the value of the variable after “as”, you can just assign it a value, it does not have the value in the table
  • #7: Maybe delete the comments that give out the output
  • #14: useful for embedding a small amount of PHP (a variable's or expression's value) in a large block of HTML without having to switch to "PHP-mode"