Skip to main content

PHP User Defined Functions


           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