• Assign value by reference
  • Dynamic variables

Variables are used to store different kinds of data (or values). These values can be numbers, text, or much more complex data. PHP has eight basic (or primitive) types of variables.

PHP Data types

- Usually the variable type is not explicitly specified, PHP automatically converts the variable to the correct data type.

Using variables

Variables are used for storing values, data like text strings, numbers or arrays.
When a variable is declared, it can be used over and over again in your script.
Regardless of what type you are creating, all variables in PHP follow certain syntactical rules:
Variables can be assigned values using the equals sign (=).
<?php
$var_name = value;
?>

There are two ways to assign values to variables: by value and by reference.

Assign by value

The typical way to do assignments is to define by value. Value can be a number, a string (or any data type), or another variable previously defined.
<?php
$var1 = 8;                         // the value is a number
$var2 = 'coursesweb.net';      // the value is a string
$var3 = true;                      // a boolean data
$var4 = $var1;                     // the value of $var4 is 8 (the value of $var1)

echo $var4;                      // 8
?>
- The values of these variables remains intact until it is reassigned or the script has completed.

• If you assign another value to an existing variable, the new value will overwrite the old one.
<?php
$site = 'coursesweb.net';
$site = 789;                       // assigns another value, a number

echo $site;                       // 789
?>

• Variables can be printed within double quotation marks, but not within simple quotation marks. If you add a variable inside simple quotation marks, will display its name (not its value).
<?php
$name = 'Marius';
echo "Hy $name". '<br />';          // Hy Marius
echo 'Hy $name';                    // Hy $name
?>
• Dot character (.) is used to join strings.
Example:
<?php
$protocol = 'http://';
$site = $protocol . 'coursesweb.net';
echo $site;                  // https://coursesweb.net
?>

Assign value by reference

The reference approach allows the content of a variable to affect the value of another variable (previously defined), or a function to affect a variable that is not part of that function (see the lesson: Passing variable to function by reference).
To define a variable by reference, simply add the ampersand (&) character before the dollar sign ($).
<?php
$var1 = "Tutorials";                 // assigned by value
$var2 = &$var1;                      // $var1 is assigned to $var2 by reference

echo $var2;                // Tutorials

// changing the value of $var1 will modify also the $var2
$var1 = 'marplo.net';
echo '<br/>'. $var2;         // marplonet.net

// changing the value of $var2 will be transmitted to $var1 too
$var2 = 'https://coursesweb.net';
echo '<br/>'. $var1;                     // https://coursesweb.net ( because of the "by reference" )
?>
- Once a variable is assigned by reference, it is tied to its referenced variable. If one of them changes, will transfer the same change to the other one. If you change the value of $var1 will change the value of $var2 too.
Because assigning values by reference can complicate the script, it's better to avoid this.

Dynamic variables

A dynamic variable is named using two dollar signs ($$) and is associated with a normal variable that has a similar name.
The value of an usual variable gives the name (without the dollar symbol) to a second variable.
<?php
$good_people = 12;
$var_name = "good_people";
echo $$var_name;                   // 12

// assigning a value to $$var_name will change the value to $good_people
$$var_name = 'other value';
echo '<br />'. $good_people;              // other value
?>
A dynamic variable does not contain its own value. Instead, it contains the location where you can find the value, in other words, the name of another variable.
The expresions: $var_name = "good_people"; and $$var_name; make result a variable "$good_people", the value of "$$var_name" is the value of "$good_people".

- Dynamic variables, as those by reference can be confusing and it's better to avoid them.

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which HTML5 tag can be used to embed an external application (SWF, PDF) in web page?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Which CSS pseudo-element adds a special style to the first line of a text?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Click on the window object property which gets or sets the URL of current page.
window.location window.self window.status
var url = window.location;
alert(url);
Indicate the PHP function used to get the contents of a file or page and store it into a string.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://coursesweb.net/");
echo $homepage;
Variables and Data Types

Last accessed pages

  1. Vue Directives (7)
  2. PHP getElementById and getElementsByTagName (31491)
  3. Get and Modify content of an Iframe (18784)
  4. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (18289)
  5. Styling link buttons using a Single Image and CSS (1836)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (1348)
  2. Tabs effect with CSS (1315)
  3. Contact page - CoursesWeb (1314)
  4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (890)
  5. Insert, Select and Update NULL value in MySQL (552)