Todays Outline Arrays Files Functions 1 Arrays <?php - - PDF document

today s outline
SMART_READER_LITE
LIVE PREVIEW

Todays Outline Arrays Files Functions 1 Arrays <?php - - PDF document

IT360: Applied Database Systems PHP Arrays, Files, Functions Todays Outline Arrays Files Functions 1 Arrays <?php require_once('page.inc.php'); require_once('arrayFunctions.inc.php'); //create the page $myPage = new


slide-1
SLIDE 1

1

IT360: Applied Database Systems PHP Arrays, Files, Functions

Today’s Outline

  • Arrays
  • Files
  • Functions
slide-2
SLIDE 2

2

Arrays

<?php require_once('page.inc.php'); require_once('arrayFunctions.inc.php'); //create the page $myPage = new Page('Array examples'); //set the content $myPage->content = '<p>Working with Arrays</p>'; //create an array $array = array('thing1', 'thing2'); $array[2] = 'thing3'; $myPage->content .= '<p>'.displayArray($array) . '</p>'; //create associative array $prices = array('Tires' => 100, 'Oil' => 10); $prices[‘Spark plugs'] = 200; $myPage->content .= '<p>The values in $prices array are <br />’ . displayAssociativeArray($prices) . '</p>'; sort($array); //sort array $myPage->content .= '<p> Sorted array '.displayArray($array) . '</p>'; ksort($prices); //sort associative array by key $myPage->content .= '<p>The values in $prices array sorted by key are <br />' . displayAssociativeArray($prices) . '</p>'; asort($prices); //sort associative array by value $myPage->content .= '<p>The values in $prices array sorted by value are <br />' . displayAssociativeArray($prices) . '</p>'; //display page $myPage->display(); ?>

array_functions.inc.php

<?php //return a string to display an array function displayArray($array){ $result = ‘<p>'; for($i = 0; $i < count($array); $i++){ $result .= "Element at index $i is $array[$i] <br />"; } $result .= ‘</p>'; return $result; } //return a string to display an associative array function displayAssociativeArray($array){ $result = ‘<p>'; foreach($array as $key => $value){ $result .= "Element with key $key has value $value <br />"; } $result .= ‘</p>'; return $result; } ?>

slide-3
SLIDE 3

3

Class Exercise

  • Create an array containing the following values:

(1900, 2000, 2004, 2005 ).

  • Use the array in a “foreach” loop to test if the

value is a leap year.

  • If it is a leap year print “XXXX is a leap year”
  • Else print “XXXX is not a leap year”
  • A year is a leap year if it is divisible by 4. If the

year is also divisible by 100 then it is NOT a leap year unless it is also divisible by 400. Thus, 1900 is not a leap year (divisible by 100 but not 400) while 2000 is a leap year (divisible by 400).

slide-4
SLIDE 4

4

Outline

  • Arrays
  • More About Files
  • More About Functions

fopen() modes

r Read only. Starts at beginning of file r+ Read/Write. Starts at beginning of file w Write only. Opens and clears contents of file; or creates new file if it doesn't exist w+ Read/Write. Opens and clears contents of file; or creates new file if it doesn't exist a Write only. Opens and writes to end of file or creates new file if it doesn't exist a+ Read/Write. Preserves file content by writing to end of file x Write only. Creates new file. Returns FALSE and error if file already exists x+ Read/Write. Creates new file. Returns FALSE and error if file already exists

slide-5
SLIDE 5

5

More Files: Read Line from File

  • string = fgets(filePointer, [maxLength])
  • string = fgetss(filePointer, [maxLength]

[, allowableTags])

  • array = fgetcsv(filePointer, [maxLength] [,

string delimiter])

Read Whole File

  • int readfile(fileName)
  • int fpassthru(filePointer)
  • array file(fileName)
  • string file_get_contents(fileName)
slide-6
SLIDE 6

6

Other Reads

  • char fgetc(filePointer)
  • string fread(filePointer, nbBytes)

Useful File Functions

  • bool file_exists(fileName)
  • int filesize(fileName)
  • bool unlink(fileName)
slide-7
SLIDE 7

7

File Locking

function save_to_file($text, $fileName = "myFile.txt"){ $fp = @fopen($fileName, 'a'); if (!$fp){ echo "<p>ERROR: Could not open file $fileName. </p>"; return FALSE; } else{ flock($fp, LOCK_EX); fwrite($fp, $text); flock($fp, LOCK_UN); fclose($fp); return TRUE; } }

Class Exercise

  • Create PHP script to:
  • Open/create a file, without overwriting it
  • Write the numbers 1 to 20 to file, separated

by space

  • Close the file
slide-8
SLIDE 8

8

Outline

  • Arrays
  • More About Files
  • More About Functions

Function Parameters

<?php function start_table($border, $cellspacing=2, $cellpadding=2){ echo “<table border = $border cellspacing = $cellspacing cellpadding = $cellpadding>”; } ?>

  • start_table(2,3,4)
  • start_table(1)
  • start_table(2,3)
slide-9
SLIDE 9

9

Variables Scope

  • Variables used in functions are visible from first

use line to end of function – local variables

  • Variables used outside functions are visible from

first use line to end of file, but not inside functions – global variables

  • Superglobal variables ($_POST, $_SERVER,

…) are visible everywhere

  • Keyword global makes local variables global –

not recommended

Variables Scope Example

<?php function fn(){ $x = 'content'; } fn(); echo 'Value of $x is '. $x; ?>

slide-10
SLIDE 10

10

Variables Scope Example 2

<?php $x = 'content 1 <br/>'; echo 'Content of $x after initialization is '. $x . '<br />'; function fn(){ echo 'Content of $x at start of function is '. $x. '<br />'; $x = 'content 2 <br/>'; echo 'Content of $x at end of function is '. $x. '<br />'; } fn(); echo 'Value of $x after calling fn() is '. $x. ‘<br />'; ?>

Summary

  • Arrays
  • Numerically indexed
  • Associative
  • Sort
  • Files
  • Functions to work with files
  • File locking
  • Functions
  • Optional parameters
  • Variable scope