PHP is packed full with many useful built-in functions, such as print() and mysql_query(), which meet a variety of needs. However, there will be times when a non-standard function would best meet the needs of the application that is being built. This is where user defined functions come in handy. The programmer can of course write the same piece of code over and over again in their applications to produce the result or they can create a user defined function that can be reused over and over again. This is the primary advantage of custom functions. The actual code associated with built-in functions consists of the keyword function followed by the function name. Next comes the parentheses, which may contain variable names, and the actual function code itself, enclosed in curly braces:
function function_name () {
-- Statements that make up the function code
}
The following examples demonstrate some of the uses and capabilities for creating a user defined function:
<?php
function hello ($i) {
echo "Hello $i!";
}
hello('world'); // This would print "Hello world!"
?>
<?php
function ctable ($i='Test', $b=1, $p=1, $s=1) {
print "<table border=$b, cellpadding=$p cellspacing=$s>";
print "<tr><td>$i</td></tr></table>";
}
ctable(); /* Would create a HTML table with the word Test in
the cell and with the default table structures */
ctable('Hello World!', 2, 3, 3); /* The defaults would be
overwritten with the
values entered */
?>
The first example displays a typical function that has a value that is entered ($i) and then used within the function itself. The second example displays how a programmer can assign a default value to be associated with the values to be read. This is eliminates any problems with a function called not having all the required values necessary to execute properly. In addition, to having information sent into a function, it is also possible to have a value returned:
<?php
function circumference ($diameter) {
$c = $diameter * pi();
return(printf("%01.2f",$c));
}
circumference(3); // This would return 9.4
?>
Comments
Post a Comment