PHP (PHP: Hypertext Preprocessor) [1] is a server-side [2] interpreted scripting language [3] that runs on a web server, which allows dynamic generation of a web page based on the parameters you write into the PHP [4] programming. It has been around since the mid 1990s, and is usually installed on just about any modern web server these days. The database language MySQL [5] is most often used in combination with PHP [4] to provide a full server stack [6] (bundle of needed server software) solution for web sites. You’ll need a server stack [6] of your own to get started using this tutorial, either with a web hosting company [7] online, or by using something like XAMPP [8] on your own computer.
Getting acquainted with the basics of PHP…
One of the great things about PHP [4] is how easy it is to mix *plain text [9] content or code with PHP [4] into any PHP [4] web page (usually any file with the file extension “.php”). For instance in this example below, we are running normal *plain text [9] content / web code outside of the PHP tags [10], and mixing it with PHP-rendered output:
Hello world, this is normal plain text, and <?php echo ' this is PHP-rendered text using the echo construct.'; ?>
This will output onto a web page looking like this:
Hello world, this is normal plain text, and this is PHP-rendered text using the echo construct.
Pretty cool…so in this way we can inject PHP dynamic content and code into any section of a web page, and use normal *plain text [9] outside of the PHP tags:
plain text here <?php // PHP code here... ?> plain text here
Strings, variables, and arrays are the data. Statements, functions, and loops process that data.
Six of the most basic and necessary PHP expressions [11] are strings [12], variables [13], arrays [14], statements [15], functions [16], and loops [17]…
A string [18] is simply a line (or multiple lines) of text characters:
<?php echo 'This is a string in PHP... A string can be on one line or multiple lines.'; ?>
A variable [13] is simply a way to store strings for later use in the programming:
<?php $my_variable_name = 'This is a string in PHP... A string can be on one line or multiple lines.'; echo $my_variable_name; /* Printing to the web page a string stored in a variable beforehand. */ $my_variable_name = 'This is a different string stored in the same variable, replacing the old value.'; echo $my_variable_name; /* Printing to the web page the -NEW- string variable, after we changed it. */ ?>
An array [14] is basically a way to store multiple variables inside one object (like a neatly-ordered “basket” of variables you might say…in fact, arrays can even be stored within other arrays):
<?php $my_array_name = array(''); /* A new blank array */ $my_array_name = array( 'value 1', 'value 2', 'value 3', 'value 4' ); /* Adding values to the array */ echo $my_array_name[0]; /* Print the first value to a web page (always starts with 0 for the key, not 1) */ echo '<br />'; /* OPTIONIAL : Print a line break to print everything after on a new line...copy and paste after each echo below if desired */ echo $my_array_name[1]; /* Print the second value to a web page */ echo $my_array_name[3]; /* Print the fourth value to a web page */ $my_array_name[2] = 'my new value'; /* Changing the value of the third item in the array */ echo $my_array_name[2]; /* Print the third value to a web page */ $my_array_name = array( 'my_key_name_1' => 'value 1', 'my_key_name_2' => 'value 2', 'my_key_name_3' => 'value 3', 'my_key_name_4' => 'value 4' ); /* Changing the array to use your own key names (instead of 0 upward) */ echo $my_array_name['my_key_name_1']; /* Print the new first value to a web page */ echo $my_array_name['my_key_name_2']; /* Print the new second value to a web page */ echo $my_array_name['my_key_name_4']; /* Print the new fourth value to a web page */ ?>
Statements [15] are how you control what happens under different conditions:
<?php $my_variable_name = '99'; /* Defining our variable */ if ( is_numeric($my_variable_name) == false ) { /* Check for value not being a number */ echo 'The variable is not a number.'; } elseif ( $my_variable_name == 99 ) { /* Check for value of 99 */ echo 'The variable is equal to 99'; } elseif ( $my_variable_name >= 99 ) { /* Check for value equal to or greater than 99 */ echo 'The variable is equal to or greater than 99'; } elseif ( $my_variable_name < 99 ) { /* Check for value less than 99 */ echo 'The variable is less than 99'; } else { /* If no conditions above match */ echo 'The variable is something else.'; } ?>
Functions [16] are a way to run the same code in multiple places in PHP code, while only needing a small amount of code for each instance:
<?php /* Creating a custom function to check for a numeric value greater than 99 */ function my_function_name($my_local_function_variable_name) { if ( is_numeric($my_local_function_variable_name) == false ) { /* Check for value not being a number */ return 'Value is not a number.'; } elseif ( $my_local_function_variable_name == 99 ) { /* Check for value of 99 */ return 'Value is 99.'; } elseif ( $my_local_function_variable_name >= 99 ) { /* Check for value equal to or greater than 99 */ return 'Value is equal to or greater than 99.'; } elseif ( $my_local_function_variable_name < 99 ) { /* Check for value less than 99 */ return 'Value is less than 99.'; } else { /* If no conditions above match */ return 'Value is something else.'; } } /* Running our custom function on a web page, using a variable */ $my_variable = 'Test, 123'; echo my_function_name($my_variable); /* Print to the web page whether or not the variable is a number greater than 99 */ ?>
PHP [4] has many built-in functions [16] you can use as well, with no need to create your own custom functions [16]. Once you have mastered creating your custom functions [16], you can categorize / organize similar and related functions [16] you create into classes [19], but more on that in a future article.
Loops [17] are kind of built like statements [15] or functions [16] (and may contain statements [15] or functions [16]) that are designed to process multiple values found in arrays [14]. Generally a loop [17] runs through each value in an array until it reaches the end of the array, or a condition is met (like X number of values have been processed, or some other milestone). There are 3 primary forms of loops in PHP [4] – foreach [20], for [21], and do / while [22]:
<?php /* foreach example */ $my_array_name = array( 'value 1', 'value 2', 'value 3', 'value 4' ); /* Adding values to the array */ foreach ( $my_array_name as $array_key => $array_value ) { echo $array_value . '<br />'; /* Print the array value on the web page */ $array_count = $array_count + 1; /* Add 1 to count of all array values */ } echo $array_count . ' Values in array' . '<br />'; /* Print count */ /* ////////////////////// */ /* for example */ for ($my_variable = 0; $my_variable < 10; $my_variable + 1) { $my_variable = $my_variable + 1; /* Up the variable value by one */ echo $my_variable . '<br />'; /* Print the variable value */ } /* ////////////////////// */ /* do / while example */ $my_variable = 0; do { $my_variable = $my_variable + 1; /* Up the variable value by one */ echo $my_variable . '<br />'; /* Print the variable value */ } while ($my_variable < 10); /* ////////////////////// */ ?>
Be careful with loops, as you can create an endless loop pretty easily by not making sure the requirement to end the loop is properly met. Only foreach [20] loops are safe from this potential issue.
Time to get your hands dirty.
Hopefully you are armed with enough talent now to copy and paste [23] the above code into your favorite text editor (hover over the code, look in top right corner of code section for the buttons), and do some hands on coding…good luck! 🙂 I highly recommend Komodo Edit [24], a free and very powerful / easy-to-use text editor specifically designed for editing web page code. You’ll also need to upload your code to your web site. FileZilla [25] is an excellent free FTP client that also works well.
*Plain text [9] refers to any content text, or even code like HTML [26], CSS [27], or Javascript [28] which is NOT server-side [2] PHP scripting (rather it is client-side [29] code of some variety).
UPDATE: I was contacted recently by Tiffany at udemy.com [30], who pointed out they also have a beginners PHP Tutorial as well [31]. Looks like they did a nice job covering the basics. 🙂