UTK CS 460 - PHP - Constructs and Variables

Unformatted text preview:

PHP: Constructs and Variables Introduction This document describes: 1. the syntax and types of variables, 2. PHP control structures (i.e., conditionals and loops), 3. mixed-mode processing, 4. how to use one script from within another, 5. how to define and use functions, 6. global variables in PHP, 7. special cases for variable types, 8. variable variables, 9. global variables unique to PHP, 10. constants in PHP, 11. arrays (indexed and associative), and 12. common array, number, and string manipulation functions. Brief overview of variables The syntax for PHP variables is similar to C and most other programming languages. There are three primary differences: 1. Variable names must be preceded by a dollar sign ($). 2. Variables do not need to be declared before being used. 3. Variables are dynamically typed, so you do not need to specify the type (e.g., int, float, etc.). Here are the fundamental variable types, which will be covered in more detail later in this document: • Numeric o integer. Integers (±231); values outside this range are converted to floating-point. o float. Floating-point numbers. o boolean. true or false; PHP internally resolves these to 1 (one) and 0 (zero) respectively. Also as in C, 0 (zero) is false and anything else is true. • string. String of characters. • array. An array of values, possibly other arrays. Arrays can be indexed or associative (i.e., a hash map). • object. Similar to a class in C++ or Java. (NOTE: Object-oriented PHP programming will not be covered in this course.) • resource. A handle to something that is not PHP data (e.g., image data, database query result). PHP has a useful function named var_dump() that prints the current type and value for one or more variables. Arrays and objects are printed recursively with their values indented to show structure. $a = 35; $b = "Programming is fun!"; $c = array(1, 1, 2, 3); var_dump($a,$b,$c); Here’s the output from the above code. int(35) string(19) "Programming is fun!" array(6) { [0]=> int(1) [1]=> int(1) [2]=> int(2) [3]=> int(3) }The variable $a is an integer with value 35. The variable $b is a string that contains 19 characters. The variable $c is an array with six elements: element zero is an integer whose value is 1, and so on. Control structures The control structures – conditionals and loops – for PHP are nearly identical to C. The following list identifies how PHP’s control structure syntax differs from other languages. • The “else-if” condition is denoted by elseif. Recall that else if is used in C, and elsif for Perl. • Single statements within a condition or loop do not require curly braces, unlike Perl where the braces are mandatory. • The “cases” within a switch-statement can be strings, unlike C where the cases must be numeric. • The syntax for the foreach loop is slightly different than Perl. For example, in Perl you would write foreach $val (@array) ... In PHP, you would write foreach ($array as $val) ... Mixed-mode processing When the PHP interpreter encounters code islands, it switches into parsing mode. This feature is significant for two reasons: you can retain variable scope, and you can distinguish PHP code from markup. Here are two examples that demonstrate these concepts. <?php $username = "dknuth"; // Defining a variable in the first code island ?> ... <h1>Hello World</h1> <p>Welcome, <?php print "$username"; // Using a variable defined in a previous code island ?>. Enjoy your stay!</p> Even though there is HTML markup between the two code islands, the variable $username retains its value. The technical reason for this capability is that the variable $username is within the current file’s scope. The following example demonstrates how to have specific HTML markup displayed if a given condition is true. <?php if ($is_logged_in == true) { ?> <p>Welcome, member. (<a href="logout.php">Log out</a>)</p> <p>Check out our new member features below.</p> <?php } else { ?> <p><a href="register.php">Register for an account</a></p> <p>You must be a member to view anything on this site, sorry!</p> <?php } ?> The same result could be achieved by using multiple print statements within the condition blocks to output the HTML markup.Including other scripts As with most programming languages, initialization, function definitions, and common code can be placed in separate files. For example, if you had several constants used by multiple C applications, those constants would be defined in a common header file rather than being duplicated within each source code file. In the case of PHP, these separate scripts typically contain common/shared functions, object definitions, and page layout code. To include other scripts, use the include statement. include 'somefile.php'; The PHP interpreter essentially “inserts” the contents of the specified file name into the current location. If you try to include a file that does not exist, a warning message will be displayed in the browser. NOTE: If PHP is configured so that display_errors is set to Off, the warning will not be seen in the browser. You can, however, see the warning by running the script using the CLI. Suppose you want to define the heading for each page on your site in the file pageheader.php: <?php print "<div class=\"pageheader\">Programming is Fun!</div>\n"; print "<div class=\"commonlinks\">some links would go here</div>\n"; print "<p>Motto: <i>If programming isn't fun, you're doing it wrong.</i></p>\n"; ?> This script can be included by other PHP files. For example, the index page – index.php – may look like this: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Programming is Fun!</title> </head> <body> <?php include 'pageheader.php'; // More code here ?> </body> </html> Potentially each page of your site would use the page header so that (a) you don’t have to copy and paste the same header markup into every PHP file that displays HTML content, and (b) if you decide to change the page header content, you only need to modify pageheader.php. The inclusion of other scripts can also be based on a condition. Suppose you want to display additional content if the


View Full Document

UTK CS 460 - PHP - Constructs and Variables

Download PHP - Constructs and Variables
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view PHP - Constructs and Variables and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view PHP - Constructs and Variables 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?