0% found this document useful (0 votes)
3 views

3 php basic snytanx.php

The document provides an overview of basic PHP syntax, focusing on arrays, strings, and regular expressions. It covers array creation, manipulation, and functions, as well as string comparison functions and the use of regular expressions in PHP. Additionally, it discusses embedding PHP in HTML and common errors to avoid when coding.

Uploaded by

complex web
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

3 php basic snytanx.php

The document provides an overview of basic PHP syntax, focusing on arrays, strings, and regular expressions. It covers array creation, manipulation, and functions, as well as string comparison functions and the use of regular expressions in PHP. Additionally, it discusses embedding PHP in HTML and common errors to avoid when coding.

Uploaded by

complex web
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

1 Basic PHP Syntax

Arrays
Strings and regular expressions

CS380
Arrays
2

$name = array(); # create


$name = array(value0, value1, ..., valueN);
$name[index] # get element value
$name[index] = value; # set element value
$name[] = value; # append
PHP
$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

 Append: use bracket notation without specifying


an index
 Element type is not specified; can mix types
CS380
Array functions
3

function name(s) description


number of elements in the
count
array
print_r print array's contents
array_pop, array_push, using array as a
array_shift, array_unshift stack/queue
in_array, array_search,
array_reverse, searching and reordering
sort, rsort, shuffle
array_fill, array_merge,
array_intersect,
creating, filling, filtering
array_diff, array_slice,
range
array_sum, array_product,
Array function example
4

$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

 the array in PHP replaces many other collections


in Java

CS380
list, stack, queue, set, map, ...
foreach loop
5

foreach ($array as $variableName) {


...
}
PHP
$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 "$fellow\n";
}
PHP
CS380
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
7
(cont.)
<?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
find string/char within a
strstr, strchr
string
find numerical position of
strpos
string
str_replace,
replace string
substr_replace
String compare functions
9
examples
$offensive = array( offensive word1, offensive
word2);
$feedback = str_replace($offcolor, “%!@*”,
$feedback);

PHP
$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]”;
CS380
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
11 Embedded PHP

CS380
Printing HTML tags in PHP =
12
bad style
<?php
print "<!DOCTYPE html PUBLIC n";
print "<html xmlns\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

<?= expression ?>


PHP

<h2> The answer is <?= 6 * 7 ?> </h2>


PHP

The answer is 42
output
 PHP expression block: a small piece of PHP that
evaluates and embeds an expression's value into
HTML

<?php<?= expression
print ?> is?>
expression; equivalent to:

PHP
CS380
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
15
braces, missing = sign
...
<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

This is a level 1 heading.


This is a level 2 heading.
This is a level 3 heading. output
CS380
17 Advanced PHP Syntax
Functions

CS380
Functions
18
function name(parameterName, ..., parameterName) {
statements;
} PHP

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

CS380
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

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

CS380
PHP Arrays Ex. 1
20

 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
PHP Arrays Ex. 2
21

 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,


CS380

You might also like