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
IT360: Applied Database Systems PHP Arrays, Files, Functions Today’s Outline Arrays Files Functions 1
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; } ?> 2
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). 3
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 4
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 ) 5
Other Reads char fgetc( filePointer ) string fread( filePointer, nbBytes ) Useful File Functions bool file_exists (fileName) int filesize( fileName ) bool unlink( fileName ) 6
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 7
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) 8
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; ?> 9
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 10
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.