Chapter 2 Gaining Control with Operators and Flow

  • Slides: 19
Download presentation
Chapter 2 - Gaining Control with Operators and Flow Control spring into PHP 5

Chapter 2 - Gaining Control with Operators and Flow Control spring into PHP 5 by Steven Holzner Slides were developed by Jack Davis College of Information Science and Technology Radford University 1

PHP Operators and Flow Control • Math Operators + * / % Adds numbers

PHP Operators and Flow Control • Math Operators + * / % Adds numbers Subtracts numbers Multiplies numbers Divides numbers returns integer remainder from integer division <? php echo "5+2 = ", 5+2, " "; ? > • Math Functions abs Absolute Value You call functions the same as you do in most languages. Use the name of the function and provide the appropriate arguments. $y = abs(-9); echo "$y"; 2

List of Math Functions • Here's some of the commonly used functions. More are

List of Math Functions • Here's some of the commonly used functions. More are listed in the text, p. 35. ceil rounds fractions up exp calculates the exponent of e floor rounds fractions down fmod returns the floating point remainder of the division of the arguments is_nan determines whether a value is not a number max finds the highest value min finds the lowest value sqrt square root 3

Assignment Operator • As in most languages the assignment operator is =. This means

Assignment Operator • As in most languages the assignment operator is =. This means the expression on the right of the operator is evaluated and the resulting value is stored in the variable on the left. $a = 4 + 3 + $b. • There also combined assignment operators. += -+ *= /= . = %= |= ^= <<= >>= $a += $b; We'll see more of these in use later. 4

Incrementing & Decrementing • PHP includes the ++ and the -- operators that can

Incrementing & Decrementing • PHP includes the ++ and the -- operators that can be used pre and post for some operation. ++$value increments $value by one, then returns $value --$value decrements $value by one, then returns $value++ returns $value, then increments $value-- returns $value, then decrements <? php $a = $b = $c = $d = 1; echo "$a++ gives ", $a++, " "; echo "++$b gives ", ++$b, " "; ? > ouputs what ? 5

Operator Precedence • new • [ • ! ~ ++ -(int) (float) (string) (array)

Operator Precedence • new • [ • ! ~ ++ -(int) (float) (string) (array) (object) • @ • * / % • +. • << >> • < <= > >= • == != === !== • & • ^ • | • && • || • ? : • = += -+ and so on there are more. use parentheses to avoid problems. 6

Execution Operator • The execution operator lets you run operating system commands and programs,

Execution Operator • The execution operator lets you run operating system commands and programs, enclose the command in backquotes (`). <? php $output = `date`; echo $output; ? > In a Unix system using bash -Fri Aug 25 12: 30: 42 EDT 2006 • you can pass an argument to the system command <? php $output = `ls -l *. php`; echo $output; ? > • https: //php. radford. edu/~jcdavis/it 325 example s/execop. php 7

String Operators • PHP has two string operators. concatenation. concatenating assignment . = •

String Operators • PHP has two string operators. concatenation. concatenating assignment . = • <? php $a = "ITEC"; $b = 325; $c = $a. " ". $b; #note coercion # now $c = "ITEC 325" $a. = " ". $b; // now $a = "ITEC 325" ? > • we'll see many more string function in PHP in the next chapter 8

Bitwise Operators • PHP has a set of operators that can work with the

Bitwise Operators • PHP has a set of operators that can work with the individual bits in an integer. Note - Besides integers, you can also work with strings using these operators; in that case, the ASCII value of each character is used. & AND $a & $b bits set in both $a and $b are set | OR $a | $b bits set in either $a or $b are set ^ Xor $a ^ $b bits set in either $a or $b but not both are set - Not - $a bits set in $a are not set and vice versa << shift left $a << $b shift left the bits in $a by the amount in $b -- if $b is one, multiply by two >> shift right $a >> $b shift right the bits in $a by the amount in $b -- if $b is one, divide by two 9

if Statements • Just the standard if (boolean expression) php statement; if the boolean

if Statements • Just the standard if (boolean expression) php statement; if the boolean expression evaluates to true the statement beneath is executed, otherwise it is not executed can execute more than one statement by createing a block of statements using { } if (boolean expression) { phpstatement 1; php statement 2; php statement 3; } $a = 50; if ($a > 45) echo "$a's value is: $a"; 10

Comparison Operators == equal $a == $b TRUE, if $a equals $b === Identical

Comparison Operators == equal $a == $b TRUE, if $a equals $b === Identical $a === $b TRUE, if $a is identical to $b (no coercions) != not equal $a != $b TRUE, if $a is not equal to $b <> not equal $a <> $b TRUE, if $a is not equal to $b !== not identical $a !== $b TRUE, if $a is not identical to $b (no coercions) < less than $a < $b TRUE, if $a is less than $b > greater than $a > $b TRUE, if $a is greater than $b <= less than or equal $a <= $b TRUE, if $a is less than or equal to $b >= greater than or equal $a >= $b TRUE, if $a is greater than or equal to $b 11

Logical Operators and And $a and $b TRUE, if both $a and $b are

Logical Operators and And $a and $b TRUE, if both $a and $b are true or Or $a or $b TRUE, if $a or $b are true xor Xor $a xor $b TRUE, if either $a or $b is true, but not both ! Not !$a TRUE, if $a is false && And $a && $b TRUE, if both $a and $b are true (higher precedence than and) || Or $a || $b TRUE, if either $a or $b is true (higher precedence than or) 12

else and elseif • $a = 20; $b = 40; $c = "40 chairs";

else and elseif • $a = 20; $b = 40; $c = "40 chairs"; if ($a >= $b) { echo "$a is larger, value is : $a"; } else { echo "$b is larger, value is : $b"; } if ($a == $c) { echo "a & c are the same. "; } else { echo "a & c are not the same. "; } if ($a === $c) { echo "a & c are the same. "; } elseif ($a == $c) { echo "a & c are different types. "; } else {echo "a & c have different values. "} • comparisons of strings and characters are based on the ASCII character codes 13

switch Statements • switch statements are used for testing multiple conditions. The same tests

switch Statements • switch statements are used for testing multiple conditions. The same tests can be built with multiple if statements, however, switch statements help to organize code. (use ints, floats, or strings) $temp = 70; switch ($temp) { case 70: echo "Nice weather. "; break; case 80: { echo "Warm today. "; echo "Old bones like warm weather. "; break; } case 90: echo "Hot!!!"; break; default: echo "temperature not in range"; } 14

for Loops • for (expression 1; expression 2; expression 3) statement; for ($ctr =

for Loops • for (expression 1; expression 2; expression 3) statement; for ($ctr = 1; $ctr < 10; $ctr++) { print ("$ctr = : $ctr "); } • expressions in a for loop can handle multiple indexes, as long as you separate them with the comma operator. for ($var 1=2, $var 2=2; $var 1<5; $var 1++) { echo "var 1 is : $var 1 ", " double it : $var 1 * $var 2 ": } • probably easier to use nested for loops 15

while Loops • standard loop that keeps executing until the initial condition is false

while Loops • standard loop that keeps executing until the initial condition is false $ind = 10; while ($ind > 1) { echo "ind = $ind"; $ind--; } • often used when reading files open_file(); while (not_at_end_of_file()) { $data = read_one_line_from_file(); echo $data; } 16

do … while Loops • just like a while loop except the condition is

do … while Loops • just like a while loop except the condition is checked at the end of the loop instead of the beginning, so it's always executed at least once do { echo $val, " "; $val *= 2; } while ($val < 10); 17

foreach Loops & break • the foreach loop makes working with arrays much easier.

foreach Loops & break • the foreach loop makes working with arrays much easier. <? php $arr = array("apples", "oranges", "grapes"); foreach ($arr as $value) { echo "Current fruit: $value "; } • in case you want to stop a loop or swich statement early, the break statement ends execution of the current for, foreach, while, do…while, or switch statement. while (not_at_end_of_file()) { $data = read_one_line_from_file(); echo $data; if ($data == "quit") break; } 18

continue Statement • the continue statement can be used inside a loop to skip

continue Statement • the continue statement can be used inside a loop to skip the rest of the current loop iteration and continue with the next iteration. for ($val = -2; $val < 2; $val++) { if ($val == 0) { continue; } echo 1/$val, " "; } skipped the division by 0 • php has alternate syntax for if, while, foreach, and switch statements for ($ctr=0; $ctr < 5; $ctr++): echo "Print this five times. "; endfor; 19