In a project I recently worked on, I discovered a new concept about using variables in PHP. In my program, I need to update multiple records on one page at the same time. After a long period of painful thinking, the concept of variables (variable variable) accidentally flashed in my mind, and all the confusion disappeared. Swept away.
Introduction
What is a variable called a variable? According to the PHP manual, a variable is a variable that takes the value of a variable and uses it as the variable name of another variable. This expression seems quite straightforward and can easily be confused with those using the word "variable" in a sentence. To give a simple example, you define a variable --- x is equal to this --- and then define a variable of a variable, which means you use the value of x as the name of the new variable. In this example, the value of this new variable is is cake. Use PHP to represent it as follows:
$x = "this";
$$x = "is cake";
?>
The symbol $$ is the representation of variables in PHP. Now we can refer to the two variables $x and $$x in two different ways.
echo "$x ${$x}";
?>
echo "$x $this";
?>
Both programs above will output this is cake. Note that $$x is written as ${$x} in the echo statement. This is to let PHP know that what you want to output is the variable of the variable instead of a $ character and $x variable.
Are you still confused? Oh, maybe, you want some more in-depth and useful examples? In the next section, I will show you how to use variables to edit multiple records on one page.
Example
Suppose you already have a MySQL database that stores links to some sites of interest. There is a table submissions in the database with the following fields:
SubmissionID
PostedBy
Link
Description
Approved
Now you want to display all links in the table that have been created but not approved. The edit page should be able to correct some input errors and set Approved for each record with the appropriate radio buttons. Then Submit all updated records to the table at once.
First, when you extract all the records from the database and display them, you must set a unique name for each record. This will allow us to loop through and identify the values of each record when submitting. The code is as follows:
//Initialize the variable counter
$index = 0;
$index_count = 0;
echo "