25 Essential PHP Functions

From Wikiversity
Jump to navigation Jump to search

This is a list of 25 interesting PHP functions that are useful in a variety of situations. Please do not make changes to the actual set of functions without first discussing them on the talk page.

Function list[edit | edit source]

Following is the raw list of 25, in alphabetical order:

  1. ceil()
  2. count()
  3. die()
  4. echo()
  5. empty()
  6. exit()
  7. file_get_contents()
  8. file_put_contents()
  9. getenv()
  10. header()
  11. htmlentities()
  12. include()
  13. ini_set()
  14. isset()
  15. mail()
  16. md5()
  17. mkdir()
  18. phpinfo()
  19. preg_match()
  20. print_r()
  21. rand()
  22. require()
  23. str_replace()
  24. str_len()
  25. trim()

Ceil()[edit | edit source]

float ceil (float value)

Rounds up the supplied float value to the next integer and returns the result.

Usage[edit | edit source]

<?php
$number = 4.89;
echo ceil($number); // 5
?>

Practical applications[edit | edit source]

Can be used to check if a number divides evenly with another - for example:

<?php
$num1 = 5;
$num2 = 7;
$div = $num2 / $num1;
if (ceil($div) == $div)
    echo "$num2 divides into $num1 evenly.";
else
    echo "$num2 does not divide into $num1 easily ($div).";
?>

$num1 = 5; $num2 = 7; $div = $num2 / $num1; if (ceil($div) == $div)

   echo "$num2 divides into $num1 evenly.";

else

   echo "$num2 does not divide into $num1 easily ($div).";

Count()[edit | edit source]

int count (mixed var)

Returns an integer value of the number of elements in the supplied variable - generally an array, as anything else will return 1.

Usage[edit | edit source]

<?php
$stuff[0] = 4;
$stuff[1] = 3;
$stuff[2] = 2;
echo count($stuff); // 3
?>

Practical applications[edit | edit source]

Handling every element of an array - for example:

<?php
$values[] = 5;
$values[] = 3;
$values[] = 6;
$values[] = -1;
$num = count($values);
for ($i=0; $i < $num; $i++) $values[$i] += 2;
?>

Bear in mind that this could be done without count() using the foreach case structure anyway.

Die()[edit | edit source]

void die ([string status])

Terminates the current script execution. If parameter 'status' is specified, also displays 'status' in an error message. Alias for exit().

Usage[edit | edit source]

<?php
if (file_get_contents("stats.txt") === false) die("Could not fetch statistics history.");
?>

Practical applications[edit | edit source]

Terminating the script if a database connection cannot be opened.

<?php
$db_connection = new MySQLi("localhost","root","") or die("Could not connect to database server.");
?>

See also[edit | edit source]

  • Exit() - function that does exactly the same thing, but sounds slightly more graceful

Echo()[edit | edit source]

void echo (string outputstring)

Outputs data to the current stream (console, apache request etc.). Is more a language construct than a function, and can therefore be used without the parenthesis.

Usage[edit | edit source]

<?php
echo("Some text."); // Will output 'Some text.'
echo "Some text."; // Will output 'Some text.' just as above
?>

Practical applications[edit | edit source]

<?php
if ( $_SESSION['loggedin'] )
{
    echo "Welcome, " . $_SESSION['username'];
}
else
{
    echo "Access denied. This area is for members only. Please login.";
}
?>

Empty()[edit | edit source]

bool empty (mixed var)

Used to check if a variable is empty. Note: It is used to only check variables, thus empty(trim($var)); will result in a parse error.

Usage[edit | edit source]

<?php
$var = 'Hello';
if (empty($var))
    echo 'The variable is empty';
else
    echo 'The variable is not empty'; // True in this case
?>

Practical applications[edit | edit source]

<?php
$name = $_POST['name'];
if (empty($name))
    echo 'You need to enter your name';
?>

Pitfall[edit | edit source]

0 is considered empty.

<?php
$var = 0;
if (empty($var))
    echo 'The variable is empty'; // True in this case
else
    echo 'The variable is not empty'; 
?>

Exit()[edit | edit source]

void exit ( [String status] )
void exit ( int status )

Exactly the same as die.

file_get_contents()[edit | edit source]

String file_get_contents ( String filename [, boolean use_include_path [, resource context [, int offset [, int maxlen]]]] )

Reads a file into a string.

Usage[edit | edit source]

<?php
echo file_get_contents('my_file.txt');
?>

Practical applications[edit | edit source]

<?php
$contents = file_get_contents('data.txt');
echo $contents; // Would output whatever is in the files
?>

file_put_contents()[edit | edit source]

int file_put_contents ( string filename, mixed data , [int flags , [resource context]] )

Writes data to a file. The flags are optional and can be FILE_USE_INCLUDE_PATH, FILE_APPEND and/or LOCK_EX. By default, without FILE_APPEND flag, function will overwrite file with given data.

Note: This is a PHP5 function only.

Will return false on failure, or the number of bytes written to the file.

Usage[edit | edit source]

<?php
file_put_contents('my_file.txt', 'Hello', FILE_APPEND); // Will append 'Hello' to the specified file
?>

Practical applications[edit | edit source]

<?php
$ip = $_SERVER['REMOTE_ADDR']; // Get client's IP address
file_put_contents('ips.txt',"\n".$ip, FILE_APPEND);
?>

PHP4 Workaround[edit | edit source]

There is nothing really special about this function, except it saves your time (it basically calls fopen, fwrite and fclose). Here is something that can be used for making sure your PHP script works with PHP5 and PHP4:

<?php
if (function_exists('file_put_contents') === false)
{
    function file_put_contents($file, $data)
    {
        $fh = @fopen($file, 'w');
        if ($fh === false)
            return false;
        else
        {
            fwrite($fh, $data);
            fclose($fh);
            return true;
        }
    }
}
?>

This is of course a very basic replacement and does not take into account any flags which goes beyond the scope of this document.

getenv()[edit | edit source]

string getenv ( string varname)

Returns the value of an environment variable

Usage[edit | edit source]

<?php
echo getenv('HTTP_USER_AGENT');  //will output what web browser is currently viewing the page
?>

Practical applications[edit | edit source]

Allows you to execute commands based on server information

<?php
if (strpos(getenv('HTTP_USER_AGENT'), "Mozilla") !== FALSE)
{
    // Execute Mozilla specific code
}
?>

See also[edit | edit source]

header()[edit | edit source]

void header (string string [, bool replace [, int http_response_code]] )

Updates the HTTP headers that are sent to the web browser

Usage[edit | edit source]

<?php
header("Cache-Control: no-cache");
?>

Practical applications[edit | edit source]

One use for the header function is to redirect the browser to a different web site

<?php
if ($_POST['username'] == "")
{
    header("Location: http://my.url.com");
    exit;
}
// Redirects the browser to http://my.url.com
?>

Another is to change how the browser will interpret the data that is sent to it

<?php
header("Content-Type: text/xml")
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
// Rest of XML output
?>

See also[edit | edit source]