$db["db_name"] = "users";
$db_name = "users";
How will example 1 be different from example 2?
$db["db_name"] = "users";
$db_name = "users";
How will example 1 be different from example 2?
The first is an array named db
which has an element with index db_name
; the second is a scalar named db_name
.
Let's try to break things down in order to simplify them.
$db["db_name"] = "users";
: that would make $db
an associative array where the string "db_name"
is a key in that array and "users"
is the value for the "db_name"
key in the $db
array. When you call echo $db["db_name"]
the text users
will be printed to the screen.
$db_name = "users";
: that means that $db_name
is a variable where "users"
is its value. So when calling echo $db_name
the result will be users
(printed to the screen).
In PHP
you can use a variable (its value to be precise) as an array index which allows you retrieve the value at that index from an array, an example:
$db_name = "users"; // this will act as an index
$db[$db_name] = "some value"; // the index "user" which is the value of the variable "$db_name" holds the value "some value" in the "$db" variable
echo $db_name . ' | ' . $db[$db_name]; // prints: users | some value
Here's a live demo for the code above.
So to summarize, $db["db_name"] = "users"
create an array with "db_name"
as a key in that array that holds the value "users"
where the other one, $db_name = "users"
, create a variable that holds the string users
.
Brackets are a way to print a value from an array.
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";