SlideShare une entreprise Scribd logo
1  sur  39
Introduction to PHP
 What is PHP?
 PHP: Hypertext Preprocessor
 A server-side, cross-platform HTML
embedded scripting language
 What do I need?
1. PHP-enabled web server
2. Text editor
3. A way to get PHP scripts from your
machine to the server
What is it? and What do I need?
Basic Syntax
 Escaping from HTML
1. <?php … ?>
2. <script language=“php”> … </script>
3. <? … ?>
4. <% … %>
 For Example…
<?php
/* The world renowned first program.
Programmer: Todd Barber
Date: October 31, 2006
*/
echo “Hello World!”; #displays on the screen
// A simple program to illustrate just the basics
?>
Types
 Boolean -> TRUE or FALSE
 Integer – number of the set
Z = {..., -2, -1, 0, 1, 2, ...}
 Float -> “decimal numbers”
 String – series of characters
 Single quote (‘) – doesn’t expand variables
 Double quote (“) – does expand variables
 Array – ordered map that assigns values
to keys
 NULL – represents that a variable has no
value. NULL is the only possible value.
See http://us2.php.net/manual/en/language.types.php for all possible types and more details.
Variables
 Variables are represented by a dollar sign
followed by the name of the variable.
 The variable name is case-sensitive.
 Variable names follow the same rules as
other labels in PHP. A valid variable name
starts with a letter or underscore, followed
by any number of letters, numbers, or
underscores.
$this_is_a_valid_variable
$this-one-is-not
More Variables
 Predefined Variables
 $GLOBALS – all variables currently in
the global scope
 $_SERVER – all variables set by the
web server
 $_POST – variables provided by the
HTTP POST
 $_GET – variables provides by the
HTTP GET (in the URL)
 $_SESSION – variables currently
registered with the script’s session
More Variables - Scope
 For the most part PHP variables have a single scope
<?php
$a=1;
include ‘header_info.php’;
?>
You can reference the $a variable in the file ‘header_info.php’
<?php
$b=1;
function footer_info () {
echo $b;
}
footer_info();
?>
Nothing will output. The echo statement refers to the local scope of the variable (inside the
function.) Global variables must be declared global inside the function.
 Global Keyword
<?php
$a = 1;
$b = 2;
function Sum()
{
   global $a, $b;
   $b = $a + $b;
}
Sum();
echo $b;
?>
What is $b?
More Variables – Scope
 Passing Variables
<?php
$a = 1;
$b = 2;
function Sum ($a, $b)
{
   $b = $a + $b;
}
Sum($a, $b);
echo $b;
?>
What is $b?3 2
More Variables - Variable
This outputs
hello world hello world
 Variable names which can be set and used dynamically
<?php
$a = ‘hello’;
$$a = ‘world’;
echo “$a ${$a}”;
echo “$a $hello”;
?>
 Constants - value cannot change during the execution of the script
A constant is case-sensitive by default. By convention, constant
identifiers are always uppercase.
<?php
define (“PI”,”3.14159265358979323846”);
echo PI;
?>
This outputs
3.14159265358979323846
Operator Precedence
Associativity Operators Additional Information
non-associative new new
left [ array()
non-associative ++ -- increment/decrement
non-associative ~ - (int) (float) (string) (array) (object) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + - . arithmetic and string
left << >> bitwise
non-associative < <= > >= comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ? : ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= assignment
left and logical
left xor logical
left or logical
left , (comma) many uses
Operators
 Arithmetic
 -$a is negation
 $a + $b is addition
 $a - $b is subtraction
 $a * $b is multiplication
 $a / $b is division (always returns float)
 $a % $b is modulus
 Assignment
 $a = 5 is NOT “equal to.” It is “gets set to”
 Combined operators
 +=, -=, *=, /=, %=, .=
More Operators
 Comparison
 $a == $b is equal
 $a === $b is identical (includes type)
 $a != $b is not equal
 $a <> $b is not equal
 $a !== $b is not identical
 $a < $b is less than
 $a > $b is greater than
 $a <= $b is less than or equal to
 $a >= $b is greater than or equal to
 Conditional
 ?: is ternary – expr1 ? expr2 : expr3
 If expr1 is TRUE, the expression evaluates to expr2
 If expr1 is FALSE, the expression evaluates to expr3
 Shorthand for single expression if statements
Comparing Different Types
Operand 1 Operand 2 Result
Null or String String Convert NULL to “”, numerical or lexical
comparison
Bool or null Anything Convert to bool, FALSE<TRUE
String or
number (or
resource)
String or
number (or
resource)
Translate strings (and resources) to
numbers, usual math
Array Array Array with fewer numbers is smaller
If key from operand 1 is not found in
operand 2 then arrays are incomparable
Compare value by value
Array Anything Array is always greater
More Operators
 Error Control
 @ - suppresses any errors that may be generated
 Works on expressions – if you can take a value of it then you can
use it.
 Strings
 Concatenation (.)
 Concatenating Assignment (.=)
<$php
@include “header_info.php”; // suppress error if file doesn’t exist
$a = “Hello”; // assign value Hello to $a
$b = $a . “ World”; // $b evaluates to “Hello World”
$a .= “ World”; // $a evaluates to “Hello World”
?>
More Operators
 Increment and Decrement
 ++$a – Preincrement – Increment by one, then return $a
 $a++ - Postincrement – Return $a, then increment by one
 --$a – Predecrement - Decrement by one, then return $a
 $a-- - Postdecrement - Return $a, then decrement by one
<?php
$a = 5;
echo "Should be 5: " . $a++ . "<br />n";
echo "Should be 6: " . $a . "<br />n";
$a = 5;
echo "Should be 6: " . ++$a . "<br />n";
echo "Should be 6: " . $a . "<br />n";
$a = 5;
echo "Should be 5: " . $a-- . "<br />n";
echo "Should be 4: " . $a . "<br />n";
$a = 5;
echo "Should be 4: " . --$a . "<br />n";
echo "Should be 4: " . $a . "<br />n";
?>
More Operators
 Logical
 $a and $b is AND – TRUE if both are
TRUE
 $a or $b is OR – TRUE if either is TRUE
 $a xor $b is XOR – TRUE if either is
TRUE, but not both
 ! $a is NOT – TRUE is $a is not TRUE
 $a && $b is AND – TRUE if both are
TRUE
 $a || $b is OR – TRUE if either is TRUE
More Operators
 Array
 $a + $b is union – appends the right side to the
left side and doesn’t overwrite variables
 $a == $b is Equal – TRUE is they have the
same key/value pairs
 $a === $b is Identity – TRUE if they have the
same key/value pairs in the same order and of
the same types
 $a != $b is Inequality – TRUE if $a is not equal
to $b
 $a <> $b – Same as Inequality above
 $a !== $b is Non-identity – TRUE if $a not
identical to $b
Array Comparisons
<?php
$a = array ("a" => "apple", "b" => "banana");
$b = array ("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b
echo "Union of $a and $b: n";
var_dump ($c);
$c = $b + $a; // Union of $b and $a
echo "Union of $b and $a: n";
var_dump ($c);
?>
<?php
$a = array ("apple", "banana");
$b = array (1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
<?php
$a = array(1,2,3);
$b = array(1,7,8,9,10);
$c = $a + $b; // Union of $a and $b
echo "Union of $a and $b: n";
//echo $c
print_r($c);
?>
Control Structures -- if
 if – evaluates an expression to its
Boolean value – if the expression
evaluates to TRUE then the conditional
code is executed; otherwise it is ignored
<?php
$a = 5;
if ($a = 6)
echo “Hello World”;
?>
<?php
$a = 5;
if ($a == 6)
{
echo “Hello World”;
$b = 7;
}
?>
if block is executed and
displays Hello World – note the
assignment operator in the expression
if block is ignored and
nothing is done – note the
comparison operator in the expression
Control Structures - else
 else – extension of if statement that
executes code when the if expression
evaluates to FALSE
<?php
$a=3;
$b=4;
if ($a < $b)
echo “Variable A is less than B”;
else
echo “Variable B is less than A”;
?>
Control Structures - elseif
 elseif – another extension of if
<?php
$a=3;
$b=4;
if ($a < $b) {
echo “Variable A is less than B”;
} elseif ($a == $b) {
echo “Variable A has the same value as B”;
} else {
echo “Variable B is less than A”;
}
?>
Control Structures - while
 while – execute the statements as
long as the expression evaluates to
TRUE
<?php
$a=3;
while ($a==4)
{
echo “The value of a is ”.$a;
}
?>
<?php
$i = 1;
while ($i <=10)
{
echo “i is set to “.$i++;
}
?>
<?php
$j = 0;
while ($j <=10)
{
echo “j is set to “.++$j;
}
?>
Counts to
10
Counts to
11
Control Structures – do-while
 do-while – same as while except the
code chunk is guaranteed to execute
at least once
<?php
$a=3;
while ($a==4)
{
echo “The value of a is ”.$a;
}
?>
<?php
$a=3;
do
{
echo “The value of a is ”.$a;
} while ($a==4);
?>
Evaluates to FALSE and while
loop statement(s) are never
executed
while expression isn’t evaluated
until after at least one iteration
of the do-while statements. This
echoes “The value of a is 3” to
the screen.
 for (expr1; expr2; expr3)
{ statement(s); }
 expr1 is evaluated unconditionally
 expr2 is evaluated at the beginning of
each iteration; continues on TRUE
 expr3 is evaluated at end of iteration
<?php
for($i=1;$i<=10;$i++)
{
echo $i.”<br />”;
}
?>
Control Structures - for
<?php
$i=1;
while ($i<=10)
{
echo $i.”<br />”;
$i++;
}
?>
functions the
same as
Control Structures - switch
 switch – the same as a series of if…
elseif statements
<?php
$i = 2;
switch ($i)
{
case 0:
echo $i;
break;
case 1:
echo $i;
break;
case 2:
echo $i;
break;
default:
echo $i;
break;
?>
<?php
$i=2;
if ($i==0)
echo $i;
elseif ($i==1)
echo $i;
elseif ($i==2)
echo $i;
?>
More switch
<?php
$i = 4;
switch ($i)
{
case 0:
case 1:
case 2:
case 3:
echo “I is less than 4”;
break;
case 4:
echo “I is equal to 4”;
break;
default:
echo “I is greater than 4”;
break;
?>
Combining cases Omitting Breaks
<?php
$i = 4;
switch ($i)
{
case 0:
case 1:
case 2:
case 3:
echo “I is less than 4”;
case 4:
echo “I is equal to 4”;
default:
echo “I is greater than 4”;
?>
Control Structures – require and include
 require – includes and evaluates a
specific file; failure results in a Fatal
Error
<?php
require ‘header.php’;
?>
 include - includes and evaluates a
specific file; failure results in a
Warning
<?php
include ‘header.php’;
?>
Control Structures –
require_once and include_once
 require_once – same as require except if
the file has already been included, it will
not be included again
<?php
require_once ‘header.php’;
?>
 include_once - same as include except if
the file has already been included, it will
not be included again
<?php
include_once ‘header.php’;
?>
 Use when the same file might be included and
evaluated more than once during a particular
execution of a script, and you want to be sure that
it is included exactly once to avoid problems with
function redefinitions, variable value
reassignments, etc.
User-defined functions
 Any valid PHP code can appear inside a
function
 Names follow the same rules as other
labels in PHP
 All functions in PHP have the global scope
<?php
function my_first_function ($arg1, $arg2, … ,$arg_n) //arguments aren’t mandatory
{
echo “PHP code goes here.”;
return $return_value; //only used when something is returned
}
my_first_function(); // example of function call with no arguments
my_first_function(1,2); // function with static arguments
my_first_function($variable); // function with a variable as an argument
}
Functions and Arguments
 Information can be passed to the
function by the argument list, a
comma separated value list of
expressions
 Arguments may be passed by:
 Value (default)
 Reference
 Default argument list
 Variable-length argument lists are
supported only in PHP4 and greater
 Passing by value examples
<?php
######### NUMBERS ###########
function add_numbers($value1, $value2)
{
echo “The numbers $value1 + $value2 equal “. $value1+$value2;
}
add_numbers(3,4); #adding 2 static numbers
add_numbers($age1,$age2); #adding 2 ages given by a user from a form
######### STRING ###########
function display_instructions()
{
echo “Text goes here. Great for text that changes often and is used many places.”;
}
display_instructions();
######### ARRAYS ###########
function add_array_values($func_array)
{
echo “The numbers $func_array[0] + $func_array[1] = “. $func_array[0] + $func_array[1];
}
$main_program_array = array(2,3);
add_array_values($array);
?>
Function Examples
More Function Examples
 Passing by Reference and Default Argument List
<?php
$dbc = OCILogon("A201","$password","$database");
function which_name($identifier,&$conn,$count="1")
{
//global $dbc;
//$conn =& $GLOBALS['dbc'];
if ($identifier == "last")
$sql = "select t100_first_name, t100_last_name from a201t100 where t100_last_name like 'Q%'";
else
$sql = "select t100_first_name, t100_last_name from a201t100 where t100_first_name like 'Q%'";
$stmt = OCIParse($conn,$sql);
OCIExecute($stmt);
while ($row=OCI_fetch_row($stmt)) {
echo "<tr><td>".$count++."</td><td>$row[0] $row[1]</td></tr>";}
OCIFreeStatement($stmt);
OCILogoff($conn);
}
echo "<table border='1' cellpadding='3’ width='30%'><tr><td>Count</td><td>Name</td></tr>n“;
which_name("first",$dbc);
echo"</table>";
?>
More Function Examples
 Passing by reference notes
 Used when you want to change the value of the
object you passed in
 I don’t know of a realistic use except when
using classes. Can be used to return more than
one value from a function (more on that later).
 Passing by default argument list
 Any defaults must be on the right side of the
argument list
 Must be a constant expression
 Uses default unless specified otherwise
Variable length argument lists
 Uses the func_num_args(), func_get_arg(), and
func_get_args() functions.
<?php
function math()
{
$numargs = func_num_args();
echo "Number of arguments: $numargsn<br />";
echo "The second side is: " . func_get_arg(1) . "<br />n";
$arg_list = func_get_args();
for ($i = 1; $i < $numargs +1; $i++) {
echo "Side $i is: " . $arg_list[$i -1] . "<br />n";
$area += $arg_list[$i -1];
}
return $area;
}
$area_of_object = math(3,4,5,6,1); // Prints 'Number of arguments: 5'
echo "The area of the object is $area_of_object";
?>
Returning values
 A value can be returned by using the
optional return() statement
 Function execution is ended
immediately and control passed back
to the line that called the function
 Returns a single variable
 could be a single number or string
 could be an array with several values
return() examples
 Single number
<?php
function square($num)
{
return $num * $num;
}
echo square(5); //displays 25
?>
 Single String
<?php
function display($string1, $string2=“World”)
{
return $string1 . $string2;
}
echo display(“Hello”,” Todd”);// displays Hello Todd
echo display(“Hello ”);//displays Hello World
?>
More return() examples
 Array – use the built-in list() function
to access the array elements
<?php
function math($num1, $num2)
{
$div = $num1 / $num2;
$mutli = $num1 * $num2;
$add = $num1 + $num2;
$sub = $num1 - $num2;
return array($div, $mutli, $add, $sub);
}
list ($d, $m, $a, $s) = math("6","2");
echo "Division: $d";
echo "<br />Multiplication:". $m;
echo "<br />Addition: $a";
echo "<br />Subtraction: $s";
?>
More return() examples
 Passing by reference to return multiple values
<?php
function split_string($input, $cut_point, &$first, &$second)
{
if(strlen($input) < $cut_point)
return false;
$first = substr($input, 0, $cut_point);
$second = substr($input, $cut_point);
return true;
}
$input_text = "abcdefghijklmnopqrstuvwxyz";
if(split_string($input_text, 30, $first_half, $second_half) != true)
{
echo "Could not split input, cut-point is entire string!<br />";
}
if(split_string($input_text, 15, $first_half, $second_half) == true)
{
echo "First segment of input: $first_half<BR>";
echo "Second segment of input: $second_half<BR>";
}
?>
Oh, by the way…
 You can also return by reference. See
http://www.php.net/manual/en/language.references.return.php for a
simple example and some explanation
 Remember variable variables? (Slide 9) PHP also allows for
variable functions
<?php
function display()
{
echo “In a function…”;
}
$variable_function = “display”;
$variable_function();
?>
 Built in Functions - http://www.php.net/manual/en/funcref.php
 Sessions - http://www.php.net/manual/en/ref.session.php
 Oracle - http://www.php.net/manual/en/ref.oci8.php
 Strings - http://www.php.net/manual/en/ref.strings.php
 Date & Time - http://www.php.net/manual/en/ref.datetime.php
 Arrays - http://www.php.net/manual/en/ref.array.php
 File System - http://www.php.net/manual/en/ref.filesystem.php
 PDF - http://www.php.net/manual/en/ref.filesystem.php

Contenu connexe

Tendances

Tendances (20)

Php Tutorials for Beginners
Php Tutorials for BeginnersPhp Tutorials for Beginners
Php Tutorials for Beginners
 
Data Types In PHP
Data Types In PHPData Types In PHP
Data Types In PHP
 
Introduction to Perl - Day 1
Introduction to Perl - Day 1Introduction to Perl - Day 1
Introduction to Perl - Day 1
 
LPW: Beginners Perl
LPW: Beginners PerlLPW: Beginners Perl
LPW: Beginners Perl
 
Improving Dev Assistant
Improving Dev AssistantImproving Dev Assistant
Improving Dev Assistant
 
Cli the other SAPI confoo11
Cli the other SAPI confoo11Cli the other SAPI confoo11
Cli the other SAPI confoo11
 
PHP Basic
PHP BasicPHP Basic
PHP Basic
 
Class 2 - Introduction to PHP
Class 2 - Introduction to PHPClass 2 - Introduction to PHP
Class 2 - Introduction to PHP
 
Php functions
Php functionsPhp functions
Php functions
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP Functions
 
Operators in PHP
Operators in PHPOperators in PHP
Operators in PHP
 
Sorting arrays in PHP
Sorting arrays in PHPSorting arrays in PHP
Sorting arrays in PHP
 
Perl
PerlPerl
Perl
 
Zend Certification Preparation Tutorial
Zend Certification Preparation TutorialZend Certification Preparation Tutorial
Zend Certification Preparation Tutorial
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
slidesharenew1
slidesharenew1slidesharenew1
slidesharenew1
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
Introduction to Perl Best Practices
Introduction to Perl Best PracticesIntroduction to Perl Best Practices
Introduction to Perl Best Practices
 
Php server variables
Php server variablesPhp server variables
Php server variables
 
Intermediate PHP
Intermediate PHPIntermediate PHP
Intermediate PHP
 

En vedette (17)

Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]
 
Day1
Day1Day1
Day1
 
SQL Devlopment for 10 ppt
SQL Devlopment for 10 pptSQL Devlopment for 10 ppt
SQL Devlopment for 10 ppt
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Learning PHP Basics Part 2
Learning PHP Basics Part 2Learning PHP Basics Part 2
Learning PHP Basics Part 2
 
Functions in php
Functions in phpFunctions in php
Functions in php
 
Arduino Foundations
Arduino FoundationsArduino Foundations
Arduino Foundations
 
Java script lecture 1
Java script lecture 1Java script lecture 1
Java script lecture 1
 
Php i basic chapter 4
Php i basic chapter 4Php i basic chapter 4
Php i basic chapter 4
 
Php basic for vit university
Php basic for vit universityPhp basic for vit university
Php basic for vit university
 
functions of C++
functions of C++functions of C++
functions of C++
 
Php Ppt
Php PptPhp Ppt
Php Ppt
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
PHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with thisPHP Powerpoint -- Teach PHP with this
PHP Powerpoint -- Teach PHP with this
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 

Similaire à Introduction to php

IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfpkaviya
 
php programming.pptx
php programming.pptxphp programming.pptx
php programming.pptxrani marri
 
Learn PHP Basics
Learn PHP Basics Learn PHP Basics
Learn PHP Basics McSoftsis
 
PHP Underground Session 1: The Basics
PHP Underground Session 1: The BasicsPHP Underground Session 1: The Basics
PHP Underground Session 1: The BasicsRobin Hawkes
 
Advanced php
Advanced phpAdvanced php
Advanced phpAnne Lee
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHPBradley Holt
 
Mike King - Storytelling by Numbers MKTFEST 2014
Mike King - Storytelling by Numbers MKTFEST 2014Mike King - Storytelling by Numbers MKTFEST 2014
Mike King - Storytelling by Numbers MKTFEST 2014Marketing Festival
 
Storytelling By Numbers
Storytelling By NumbersStorytelling By Numbers
Storytelling By NumbersMichael King
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHPprabhatjon
 
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboardsDenis Ristic
 

Similaire à Introduction to php (20)

IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdfIT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
IT2255 Web Essentials - Unit IV Server-Side Processing and Scripting - PHP.pdf
 
Web 8 | Introduction to PHP
Web 8 | Introduction to PHPWeb 8 | Introduction to PHP
Web 8 | Introduction to PHP
 
php programming.pptx
php programming.pptxphp programming.pptx
php programming.pptx
 
Php Lecture Notes
Php Lecture NotesPhp Lecture Notes
Php Lecture Notes
 
Introduction in php part 2
Introduction in php part 2Introduction in php part 2
Introduction in php part 2
 
Learn PHP Basics
Learn PHP Basics Learn PHP Basics
Learn PHP Basics
 
PHP Underground Session 1: The Basics
PHP Underground Session 1: The BasicsPHP Underground Session 1: The Basics
PHP Underground Session 1: The Basics
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
Advanced php
Advanced phpAdvanced php
Advanced php
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Mike King - Storytelling by Numbers MKTFEST 2014
Mike King - Storytelling by Numbers MKTFEST 2014Mike King - Storytelling by Numbers MKTFEST 2014
Mike King - Storytelling by Numbers MKTFEST 2014
 
Storytelling By Numbers
Storytelling By NumbersStorytelling By Numbers
Storytelling By Numbers
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
php AND MYSQL _ppt.pdf
php AND MYSQL _ppt.pdfphp AND MYSQL _ppt.pdf
php AND MYSQL _ppt.pdf
 
Web Technology_10.ppt
Web Technology_10.pptWeb Technology_10.ppt
Web Technology_10.ppt
 
PHP variables
PHP  variablesPHP  variables
PHP variables
 
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Introduction in php
Introduction in phpIntroduction in php
Introduction in php
 

Plus de sagaroceanic11

Module 21 investigative reports
Module 21 investigative reportsModule 21 investigative reports
Module 21 investigative reportssagaroceanic11
 
Module 20 mobile forensics
Module 20 mobile forensicsModule 20 mobile forensics
Module 20 mobile forensicssagaroceanic11
 
Module 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimesModule 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimessagaroceanic11
 
Module 18 investigating web attacks
Module 18 investigating web attacksModule 18 investigating web attacks
Module 18 investigating web attackssagaroceanic11
 
Module 17 investigating wireless attacks
Module 17 investigating wireless attacksModule 17 investigating wireless attacks
Module 17 investigating wireless attackssagaroceanic11
 
Module 04 digital evidence
Module 04 digital evidenceModule 04 digital evidence
Module 04 digital evidencesagaroceanic11
 
Module 03 searching and seizing computers
Module 03 searching and seizing computersModule 03 searching and seizing computers
Module 03 searching and seizing computerssagaroceanic11
 
Module 01 computer forensics in todays world
Module 01 computer forensics in todays worldModule 01 computer forensics in todays world
Module 01 computer forensics in todays worldsagaroceanic11
 
Virtualisation with v mware
Virtualisation with v mwareVirtualisation with v mware
Virtualisation with v mwaresagaroceanic11
 
Virtualisation overview
Virtualisation overviewVirtualisation overview
Virtualisation overviewsagaroceanic11
 
Introduction to virtualisation
Introduction to virtualisationIntroduction to virtualisation
Introduction to virtualisationsagaroceanic11
 
2 the service lifecycle
2 the service lifecycle2 the service lifecycle
2 the service lifecyclesagaroceanic11
 
1 introduction to itil v[1].3
1 introduction to itil v[1].31 introduction to itil v[1].3
1 introduction to itil v[1].3sagaroceanic11
 
Visual studio 2008 overview
Visual studio 2008 overviewVisual studio 2008 overview
Visual studio 2008 overviewsagaroceanic11
 

Plus de sagaroceanic11 (20)

Module 21 investigative reports
Module 21 investigative reportsModule 21 investigative reports
Module 21 investigative reports
 
Module 20 mobile forensics
Module 20 mobile forensicsModule 20 mobile forensics
Module 20 mobile forensics
 
Module 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimesModule 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimes
 
Module 18 investigating web attacks
Module 18 investigating web attacksModule 18 investigating web attacks
Module 18 investigating web attacks
 
Module 17 investigating wireless attacks
Module 17 investigating wireless attacksModule 17 investigating wireless attacks
Module 17 investigating wireless attacks
 
Module 04 digital evidence
Module 04 digital evidenceModule 04 digital evidence
Module 04 digital evidence
 
Module 03 searching and seizing computers
Module 03 searching and seizing computersModule 03 searching and seizing computers
Module 03 searching and seizing computers
 
Module 01 computer forensics in todays world
Module 01 computer forensics in todays worldModule 01 computer forensics in todays world
Module 01 computer forensics in todays world
 
Virtualisation with v mware
Virtualisation with v mwareVirtualisation with v mware
Virtualisation with v mware
 
Virtualisation overview
Virtualisation overviewVirtualisation overview
Virtualisation overview
 
Virtualisation basics
Virtualisation basicsVirtualisation basics
Virtualisation basics
 
Introduction to virtualisation
Introduction to virtualisationIntroduction to virtualisation
Introduction to virtualisation
 
6 service operation
6 service operation6 service operation
6 service operation
 
5 service transition
5 service transition5 service transition
5 service transition
 
4 service design
4 service design4 service design
4 service design
 
3 service strategy
3 service strategy3 service strategy
3 service strategy
 
2 the service lifecycle
2 the service lifecycle2 the service lifecycle
2 the service lifecycle
 
1 introduction to itil v[1].3
1 introduction to itil v[1].31 introduction to itil v[1].3
1 introduction to itil v[1].3
 
Visual studio 2008 overview
Visual studio 2008 overviewVisual studio 2008 overview
Visual studio 2008 overview
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 

Dernier

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Introduction to php

  • 2.  What is PHP?  PHP: Hypertext Preprocessor  A server-side, cross-platform HTML embedded scripting language  What do I need? 1. PHP-enabled web server 2. Text editor 3. A way to get PHP scripts from your machine to the server What is it? and What do I need?
  • 3. Basic Syntax  Escaping from HTML 1. <?php … ?> 2. <script language=“php”> … </script> 3. <? … ?> 4. <% … %>  For Example… <?php /* The world renowned first program. Programmer: Todd Barber Date: October 31, 2006 */ echo “Hello World!”; #displays on the screen // A simple program to illustrate just the basics ?>
  • 4. Types  Boolean -> TRUE or FALSE  Integer – number of the set Z = {..., -2, -1, 0, 1, 2, ...}  Float -> “decimal numbers”  String – series of characters  Single quote (‘) – doesn’t expand variables  Double quote (“) – does expand variables  Array – ordered map that assigns values to keys  NULL – represents that a variable has no value. NULL is the only possible value. See http://us2.php.net/manual/en/language.types.php for all possible types and more details.
  • 5. Variables  Variables are represented by a dollar sign followed by the name of the variable.  The variable name is case-sensitive.  Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. $this_is_a_valid_variable $this-one-is-not
  • 6. More Variables  Predefined Variables  $GLOBALS – all variables currently in the global scope  $_SERVER – all variables set by the web server  $_POST – variables provided by the HTTP POST  $_GET – variables provides by the HTTP GET (in the URL)  $_SESSION – variables currently registered with the script’s session
  • 7. More Variables - Scope  For the most part PHP variables have a single scope <?php $a=1; include ‘header_info.php’; ?> You can reference the $a variable in the file ‘header_info.php’ <?php $b=1; function footer_info () { echo $b; } footer_info(); ?> Nothing will output. The echo statement refers to the local scope of the variable (inside the function.) Global variables must be declared global inside the function.
  • 8.  Global Keyword <?php $a = 1; $b = 2; function Sum() {    global $a, $b;    $b = $a + $b; } Sum(); echo $b; ?> What is $b? More Variables – Scope  Passing Variables <?php $a = 1; $b = 2; function Sum ($a, $b) {    $b = $a + $b; } Sum($a, $b); echo $b; ?> What is $b?3 2
  • 9. More Variables - Variable This outputs hello world hello world  Variable names which can be set and used dynamically <?php $a = ‘hello’; $$a = ‘world’; echo “$a ${$a}”; echo “$a $hello”; ?>  Constants - value cannot change during the execution of the script A constant is case-sensitive by default. By convention, constant identifiers are always uppercase. <?php define (“PI”,”3.14159265358979323846”); echo PI; ?> This outputs 3.14159265358979323846
  • 10. Operator Precedence Associativity Operators Additional Information non-associative new new left [ array() non-associative ++ -- increment/decrement non-associative ~ - (int) (float) (string) (array) (object) @ types non-associative instanceof types right ! logical left * / % arithmetic left + - . arithmetic and string left << >> bitwise non-associative < <= > >= comparison non-associative == != === !== comparison left & bitwise and references left ^ bitwise left | bitwise left && logical left || logical left ? : ternary right = += -= *= /= .= %= &= |= ^= <<= >>= assignment left and logical left xor logical left or logical left , (comma) many uses
  • 11. Operators  Arithmetic  -$a is negation  $a + $b is addition  $a - $b is subtraction  $a * $b is multiplication  $a / $b is division (always returns float)  $a % $b is modulus  Assignment  $a = 5 is NOT “equal to.” It is “gets set to”  Combined operators  +=, -=, *=, /=, %=, .=
  • 12. More Operators  Comparison  $a == $b is equal  $a === $b is identical (includes type)  $a != $b is not equal  $a <> $b is not equal  $a !== $b is not identical  $a < $b is less than  $a > $b is greater than  $a <= $b is less than or equal to  $a >= $b is greater than or equal to  Conditional  ?: is ternary – expr1 ? expr2 : expr3  If expr1 is TRUE, the expression evaluates to expr2  If expr1 is FALSE, the expression evaluates to expr3  Shorthand for single expression if statements
  • 13. Comparing Different Types Operand 1 Operand 2 Result Null or String String Convert NULL to “”, numerical or lexical comparison Bool or null Anything Convert to bool, FALSE<TRUE String or number (or resource) String or number (or resource) Translate strings (and resources) to numbers, usual math Array Array Array with fewer numbers is smaller If key from operand 1 is not found in operand 2 then arrays are incomparable Compare value by value Array Anything Array is always greater
  • 14. More Operators  Error Control  @ - suppresses any errors that may be generated  Works on expressions – if you can take a value of it then you can use it.  Strings  Concatenation (.)  Concatenating Assignment (.=) <$php @include “header_info.php”; // suppress error if file doesn’t exist $a = “Hello”; // assign value Hello to $a $b = $a . “ World”; // $b evaluates to “Hello World” $a .= “ World”; // $a evaluates to “Hello World” ?>
  • 15. More Operators  Increment and Decrement  ++$a – Preincrement – Increment by one, then return $a  $a++ - Postincrement – Return $a, then increment by one  --$a – Predecrement - Decrement by one, then return $a  $a-- - Postdecrement - Return $a, then decrement by one <?php $a = 5; echo "Should be 5: " . $a++ . "<br />n"; echo "Should be 6: " . $a . "<br />n"; $a = 5; echo "Should be 6: " . ++$a . "<br />n"; echo "Should be 6: " . $a . "<br />n"; $a = 5; echo "Should be 5: " . $a-- . "<br />n"; echo "Should be 4: " . $a . "<br />n"; $a = 5; echo "Should be 4: " . --$a . "<br />n"; echo "Should be 4: " . $a . "<br />n"; ?>
  • 16. More Operators  Logical  $a and $b is AND – TRUE if both are TRUE  $a or $b is OR – TRUE if either is TRUE  $a xor $b is XOR – TRUE if either is TRUE, but not both  ! $a is NOT – TRUE is $a is not TRUE  $a && $b is AND – TRUE if both are TRUE  $a || $b is OR – TRUE if either is TRUE
  • 17. More Operators  Array  $a + $b is union – appends the right side to the left side and doesn’t overwrite variables  $a == $b is Equal – TRUE is they have the same key/value pairs  $a === $b is Identity – TRUE if they have the same key/value pairs in the same order and of the same types  $a != $b is Inequality – TRUE if $a is not equal to $b  $a <> $b – Same as Inequality above  $a !== $b is Non-identity – TRUE if $a not identical to $b
  • 18. Array Comparisons <?php $a = array ("a" => "apple", "b" => "banana"); $b = array ("a" => "pear", "b" => "strawberry", "c" => "cherry"); $c = $a + $b; // Union of $a and $b echo "Union of $a and $b: n"; var_dump ($c); $c = $b + $a; // Union of $b and $a echo "Union of $b and $a: n"; var_dump ($c); ?> <?php $a = array ("apple", "banana"); $b = array (1 => "banana", "0" => "apple"); var_dump($a == $b); // bool(true) var_dump($a === $b); // bool(false) ?> <?php $a = array(1,2,3); $b = array(1,7,8,9,10); $c = $a + $b; // Union of $a and $b echo "Union of $a and $b: n"; //echo $c print_r($c); ?>
  • 19. Control Structures -- if  if – evaluates an expression to its Boolean value – if the expression evaluates to TRUE then the conditional code is executed; otherwise it is ignored <?php $a = 5; if ($a = 6) echo “Hello World”; ?> <?php $a = 5; if ($a == 6) { echo “Hello World”; $b = 7; } ?> if block is executed and displays Hello World – note the assignment operator in the expression if block is ignored and nothing is done – note the comparison operator in the expression
  • 20. Control Structures - else  else – extension of if statement that executes code when the if expression evaluates to FALSE <?php $a=3; $b=4; if ($a < $b) echo “Variable A is less than B”; else echo “Variable B is less than A”; ?>
  • 21. Control Structures - elseif  elseif – another extension of if <?php $a=3; $b=4; if ($a < $b) { echo “Variable A is less than B”; } elseif ($a == $b) { echo “Variable A has the same value as B”; } else { echo “Variable B is less than A”; } ?>
  • 22. Control Structures - while  while – execute the statements as long as the expression evaluates to TRUE <?php $a=3; while ($a==4) { echo “The value of a is ”.$a; } ?> <?php $i = 1; while ($i <=10) { echo “i is set to “.$i++; } ?> <?php $j = 0; while ($j <=10) { echo “j is set to “.++$j; } ?> Counts to 10 Counts to 11
  • 23. Control Structures – do-while  do-while – same as while except the code chunk is guaranteed to execute at least once <?php $a=3; while ($a==4) { echo “The value of a is ”.$a; } ?> <?php $a=3; do { echo “The value of a is ”.$a; } while ($a==4); ?> Evaluates to FALSE and while loop statement(s) are never executed while expression isn’t evaluated until after at least one iteration of the do-while statements. This echoes “The value of a is 3” to the screen.
  • 24.  for (expr1; expr2; expr3) { statement(s); }  expr1 is evaluated unconditionally  expr2 is evaluated at the beginning of each iteration; continues on TRUE  expr3 is evaluated at end of iteration <?php for($i=1;$i<=10;$i++) { echo $i.”<br />”; } ?> Control Structures - for <?php $i=1; while ($i<=10) { echo $i.”<br />”; $i++; } ?> functions the same as
  • 25. Control Structures - switch  switch – the same as a series of if… elseif statements <?php $i = 2; switch ($i) { case 0: echo $i; break; case 1: echo $i; break; case 2: echo $i; break; default: echo $i; break; ?> <?php $i=2; if ($i==0) echo $i; elseif ($i==1) echo $i; elseif ($i==2) echo $i; ?>
  • 26. More switch <?php $i = 4; switch ($i) { case 0: case 1: case 2: case 3: echo “I is less than 4”; break; case 4: echo “I is equal to 4”; break; default: echo “I is greater than 4”; break; ?> Combining cases Omitting Breaks <?php $i = 4; switch ($i) { case 0: case 1: case 2: case 3: echo “I is less than 4”; case 4: echo “I is equal to 4”; default: echo “I is greater than 4”; ?>
  • 27. Control Structures – require and include  require – includes and evaluates a specific file; failure results in a Fatal Error <?php require ‘header.php’; ?>  include - includes and evaluates a specific file; failure results in a Warning <?php include ‘header.php’; ?>
  • 28. Control Structures – require_once and include_once  require_once – same as require except if the file has already been included, it will not be included again <?php require_once ‘header.php’; ?>  include_once - same as include except if the file has already been included, it will not be included again <?php include_once ‘header.php’; ?>  Use when the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.
  • 29. User-defined functions  Any valid PHP code can appear inside a function  Names follow the same rules as other labels in PHP  All functions in PHP have the global scope <?php function my_first_function ($arg1, $arg2, … ,$arg_n) //arguments aren’t mandatory { echo “PHP code goes here.”; return $return_value; //only used when something is returned } my_first_function(); // example of function call with no arguments my_first_function(1,2); // function with static arguments my_first_function($variable); // function with a variable as an argument }
  • 30. Functions and Arguments  Information can be passed to the function by the argument list, a comma separated value list of expressions  Arguments may be passed by:  Value (default)  Reference  Default argument list  Variable-length argument lists are supported only in PHP4 and greater
  • 31.  Passing by value examples <?php ######### NUMBERS ########### function add_numbers($value1, $value2) { echo “The numbers $value1 + $value2 equal “. $value1+$value2; } add_numbers(3,4); #adding 2 static numbers add_numbers($age1,$age2); #adding 2 ages given by a user from a form ######### STRING ########### function display_instructions() { echo “Text goes here. Great for text that changes often and is used many places.”; } display_instructions(); ######### ARRAYS ########### function add_array_values($func_array) { echo “The numbers $func_array[0] + $func_array[1] = “. $func_array[0] + $func_array[1]; } $main_program_array = array(2,3); add_array_values($array); ?> Function Examples
  • 32. More Function Examples  Passing by Reference and Default Argument List <?php $dbc = OCILogon("A201","$password","$database"); function which_name($identifier,&$conn,$count="1") { //global $dbc; //$conn =& $GLOBALS['dbc']; if ($identifier == "last") $sql = "select t100_first_name, t100_last_name from a201t100 where t100_last_name like 'Q%'"; else $sql = "select t100_first_name, t100_last_name from a201t100 where t100_first_name like 'Q%'"; $stmt = OCIParse($conn,$sql); OCIExecute($stmt); while ($row=OCI_fetch_row($stmt)) { echo "<tr><td>".$count++."</td><td>$row[0] $row[1]</td></tr>";} OCIFreeStatement($stmt); OCILogoff($conn); } echo "<table border='1' cellpadding='3’ width='30%'><tr><td>Count</td><td>Name</td></tr>n“; which_name("first",$dbc); echo"</table>"; ?>
  • 33. More Function Examples  Passing by reference notes  Used when you want to change the value of the object you passed in  I don’t know of a realistic use except when using classes. Can be used to return more than one value from a function (more on that later).  Passing by default argument list  Any defaults must be on the right side of the argument list  Must be a constant expression  Uses default unless specified otherwise
  • 34. Variable length argument lists  Uses the func_num_args(), func_get_arg(), and func_get_args() functions. <?php function math() { $numargs = func_num_args(); echo "Number of arguments: $numargsn<br />"; echo "The second side is: " . func_get_arg(1) . "<br />n"; $arg_list = func_get_args(); for ($i = 1; $i < $numargs +1; $i++) { echo "Side $i is: " . $arg_list[$i -1] . "<br />n"; $area += $arg_list[$i -1]; } return $area; } $area_of_object = math(3,4,5,6,1); // Prints 'Number of arguments: 5' echo "The area of the object is $area_of_object"; ?>
  • 35. Returning values  A value can be returned by using the optional return() statement  Function execution is ended immediately and control passed back to the line that called the function  Returns a single variable  could be a single number or string  could be an array with several values
  • 36. return() examples  Single number <?php function square($num) { return $num * $num; } echo square(5); //displays 25 ?>  Single String <?php function display($string1, $string2=“World”) { return $string1 . $string2; } echo display(“Hello”,” Todd”);// displays Hello Todd echo display(“Hello ”);//displays Hello World ?>
  • 37. More return() examples  Array – use the built-in list() function to access the array elements <?php function math($num1, $num2) { $div = $num1 / $num2; $mutli = $num1 * $num2; $add = $num1 + $num2; $sub = $num1 - $num2; return array($div, $mutli, $add, $sub); } list ($d, $m, $a, $s) = math("6","2"); echo "Division: $d"; echo "<br />Multiplication:". $m; echo "<br />Addition: $a"; echo "<br />Subtraction: $s"; ?>
  • 38. More return() examples  Passing by reference to return multiple values <?php function split_string($input, $cut_point, &$first, &$second) { if(strlen($input) < $cut_point) return false; $first = substr($input, 0, $cut_point); $second = substr($input, $cut_point); return true; } $input_text = "abcdefghijklmnopqrstuvwxyz"; if(split_string($input_text, 30, $first_half, $second_half) != true) { echo "Could not split input, cut-point is entire string!<br />"; } if(split_string($input_text, 15, $first_half, $second_half) == true) { echo "First segment of input: $first_half<BR>"; echo "Second segment of input: $second_half<BR>"; } ?>
  • 39. Oh, by the way…  You can also return by reference. See http://www.php.net/manual/en/language.references.return.php for a simple example and some explanation  Remember variable variables? (Slide 9) PHP also allows for variable functions <?php function display() { echo “In a function…”; } $variable_function = “display”; $variable_function(); ?>  Built in Functions - http://www.php.net/manual/en/funcref.php  Sessions - http://www.php.net/manual/en/ref.session.php  Oracle - http://www.php.net/manual/en/ref.oci8.php  Strings - http://www.php.net/manual/en/ref.strings.php  Date & Time - http://www.php.net/manual/en/ref.datetime.php  Arrays - http://www.php.net/manual/en/ref.array.php  File System - http://www.php.net/manual/en/ref.filesystem.php  PDF - http://www.php.net/manual/en/ref.filesystem.php

Notes de l'éditeur

  1. Since everything is HTML embedded, must have a way of telling the server what is PHP and what is HTML. 1 and 2 are both always available, however number 1 is used most often. 3 and 4 are only available if enabled by the server administrator. Closing tag is optional. Lines of code must end in PHP.
  2. Don’t add scope until talking about functions b/c examples don’t make sense until then.
  3. Don’t add scope until talking about functions b/c examples don’t make sense until then.
  4. Form with 8 names and name1, name2, etc… and it gets submitted For loop 8 times: $temp_name = name$i echo $$temp_name // holds the actual value from the form. End of for
  5. String to number- if string starts with number or sign then it gets that value, if it starts with anything else it gets evaluated to zero.
  6. Two different variations of AND and OR because they have different precedence
  7. Point out that on single command if statements the curly braces are optional.
  8. for ($i=1;$i&lt;=10;print $i++) More on for the expressions can be blank or have multiple expressions in them. Go to php.net for more