1 / 34

Functions in PHP

Functions in PHP. Stewart Blakeway FML 213 blakews@hope.ac.uk 0151 291 3113. Session Aims . How to define a function How to call a function Passing and Receiving Values to/from functions Function Variables and Global Variables Giving a function storage Functions within Functions

sofia
Download Presentation

Functions in PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Functions in PHP Stewart Blakeway FML 213 blakews@hope.ac.uk 0151 291 3113

  2. Session Aims • How to define a function • How to call a function • Passing and Receiving Values to/from functions • Function Variables and Global Variables • Giving a function storage • Functions within Functions • Checking a function exists before calling it

  3. What is a function? • A function is a self-contained block of code that can be used time and time again. • Values can be passed to functions. • Functions, once finished executing can pass values back to the calling code.

  4. Types of function • There are two types of function. You have seen one type already and may or may not of known it was a function. • Built-in functions • Self defined functions

  5. Built-in Functions How many built in functions are there? echo (“Hello World!”); • echo is the name of the function that you are calling. • Hello World! is a string that we are passing to the function. • Information that you want to pass to the function should be between the parentheses.

  6. Arguments! • The terminology that explains the data that is to be passed to the function is called an argument. Some functions require more than one argument. my_function ($an_argument, $another_argument);

  7. date () • Date () is another example of a built in function. Lets examine how this works. $today = date ("l j F" ); echo $today; • date () uses lots of symbols to represent different formats. ie: M,F,m,n,d,j,l,D,w,Y…

  8. date () $today = date ("l j F" ); echo $today; • Functions that return a value do not necessarily have to be stored. echo(date ("l j F" ));

  9. date () $today = date ("l j F" ); echo $today; What data type is $today ? How could we find out? $today = date ("l j F" ); echo $today; echo (gettype($today));

  10. Function function function echo (gettype(date("l j F" ))); What do you think is echo’d ?

  11. Defining a function • You can define a function by using the function statement function function_name ($argument1, $argument2 …) { // function code goes here }

  12. Defining a function • What is echoed out? <?php function bigfont($txt) { echo("<h1>" . $txt . "</h1>"); } bigfont ("Hello World!"); ?>

  13. tt function • Examine the following code, what does it echo out? function tt($num) { for ( $x=1 ; $x<13 ; $x++ ) { echo ($x . “*” . $num . “=” . $x*$num .“<br />”); } } tt (6);

  14. More about variables! <html> <head><title>Local Variables</title></head> <body> <?php $life=42; function meaningOfLife () { echo (“The meaning of life is”. $life); } meaningOfLife(); ?> </body> </html>

  15. More about variables! <html> <head><title>Global Variables</title></head> <body> <?php $life=42; function meaningOfLife () { global $life; echo (“The meaning of life is”. $life); } meaningOfLife(); ?> </body> </html>

  16. Alternatively <html> <head><title>Local Variables</title></head> <body> <?php $life=42; function meaningOfLife ($arg) { echo ("The meaning of life is". $arg); } meaningOfLife($life); ?> </body> </html>

  17. Question • Why not always pass variables to functions and do away with global variables? Sometimes you will want to remember a value of a variable even if a function has finished or manipulate a variable outside of a function

  18. Numbered Headings <?php $numOfHeading=1; function numHeading ($heading) { global $numOfHeading; echo ("<h2>" . $numOfHeading . " . " . $heading . "</h2>" ); $numOfHeading++; } numHeading ("About Me!"); echo ("<p>Stewart Blakeway<br />0151 291 3113</p>"); numHeading ("Currently Teaching On"); echo ("<ul> <li>Computing Concepts</li> <li>Database Technology</li> <li>IT Business Applications</li> <li>Web Development</li> <li>Network & Operating Systems</li></ul>"); ?>

  19. Question • Although the last example got the point across, Global variables should be avoided and only used as the last resort! • Why do you think this is? The beauty of functions is their versatility, take the echo function as an example. This is a function of code that can be used again and again. Global variables hinder the flexibility that functions offer!

  20. Numbered Headings Alternative <?php function numHeading ($heading) { static $numOfHeading = 1; echo ("<h2>" . $numOfHeading . " . " . $heading . "</h2>" ); $numOfHeading++; } numHeading ("About Me!"); echo ("<p>Stewart Blakeway<br />0151 291 3113</p>"); numHeading ("Currently Teaching On"); echo ("<ul> <li>Computing Concepts</li> <li>Database Technology</li> <li>IT Business Applications</li> <li>Web Development</li> <li>Network & Operating Systems</li></ul>"); ?>

  21. More than One Argument • So far we have seen functions that pass one argument • PHP can pass as many arguments as you define • The results of an argument can be returned

  22. Returning a result <?php function mySum($num1, $num2) { $total = $num1 + $num2; return $total; } $myNumber = 0; $myNumber = mySum(3, 4); echo $myNumber; ?> We saw this in slides 7 and 8

  23. Passing Two Arguments <?php function nSFont ($txt, $size) { echo ("<font size=\"$size\" face=\"Helvetica, Arial, Sans-Serif\“>$txt</font><br />"); } nSFont ("A heading",12); nSFont ("some body text",3); nSFont ("some more body text",3); ?>

  24. What do you suppose would happen if the function was set to accept two arguments and only one was passed? <?php function nSFont ($txt, $size) { echo ("<font size=\"$size\" face=\"Helvetica, Arial, Sans-Serif\“>$txt</font><br />"); } nSFont ("A heading“,12); nSFont ("some body text"); nSFont ("some more body text"); ?> A heading Warning: Missing argument 2 for nsfont() in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 6 some body text Warning: Missing argument 2 for nsfont() in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 6 some more body text

  25. Default Arguments <html><head><title>Local Variables</title></head><body> <?php function nSFont ($txt, $size = 3) { echo ("<font size=\"$size\" face=\"Helvetica, Arial, Sans-Serif\“> $txt</font><br />"); } nSFont ("A heading",12); nSFont ("some body text"); nSFont ("some more body text"); ?> </body></html>

  26. What will be echoed out? <html><head><title>Local Variables</title></head><body> <?php function squared($num) { $num = ($num * $num); echo ($num."<br />"); } $num = 30; squared ($num); echo ($num."<br />"); ?> </body></html>

  27. What will be echoed out? <html><head><title>Local Variables</title></head><body> <?php function squared (&$num) { $num = ($num * $num); echo ($num."<br />"); } $num = 30; squared ($num); echo ($num."<br />"); ?> </body></html>

  28. What will be echoed out? <html><head><title>Local Variables</title></head><body> <?php function squared (&$joe) { $joe= ($joe * $joe); echo ($joe."<br>"); } $num = 30; squared ($num); echo ($num."<br>"); ?> </body></html>

  29. Checking a function exists <?php function mySum($num1, $num2) { $total = $num1 + $num2; return $total; } if (function_exists (mysum)) { $myNumber = mySum(3, 4); echo $myNumber; } else { echo ("Function not available"); } ?>

  30. What next? • Seminar • More exercises, specifically defining functions and calling functions • Next Lecture • This is on arrays, associate arrays, multidimensional arrays, classes, methods.. And more… don’t miss this as its not easy!

  31. tt function – 3 Errors function tt($num) for ( $x=1 ; $x<13 ; $x++ ) { echo (x . “*” . $num . “=” . $x*$num . “<br />”); } tt 6;

  32. 3 Errors <html><head><title>Global Variables</title></head><body> <?php $life=42; function meaningOfLife() { Global $life; echo (“The meaning of life is” $life); } meaningOfLife(); > </body></html>

  33. Numbered Headings – 3 Errors <?php function numHeading($heading) { fixed $numOfHeading = 1; echo ("<h2>" . $numOfHeading . " . " . $heading . "</h2>" ); $numOfHeading++; } numHeading ("About Me!"); echo ("<p>Stewart Blakeway<br />0151 291 3113</p>"); numheading ("Currently Teaching On"); echo ("<ul><li>Computing Concepts</li> <li>Database Technology</li> <li>IT Business Applications</li> <li>Web Development</li> <li>Network & Operating Systems</li>"); ?>

  34. Any Questions?

More Related