Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multidimensional Associative Array (PHP)

I'm new to arrays in PHP and am trying to wrap my mind around how to make a multidimensional associative array. I'd like the array to look like this when I use print_r:

Array ( [0] => Array ( [alert] => alert [email] => Test ) )

Instead I get this:

Array ( [0] => Array ( [alert] => Array ( [email] => Test ) ) )

The code I'm using is this:

$alert_array = array();

$alert_array[]["alert"]["email"] = "Test";

I thought trying something like this would work, but obviously my syntax is a bit off. I think I'm somewhat on the right track though?:

$alert_array[][["alert"]["email"]] = "Test";

Thank for your help (sorry if this is super basic, I couldn't find any questions that addressed this exactly)!

like image 850
MillerMedia Avatar asked Sep 06 '13 01:09

MillerMedia


People also ask

What is multidimensional associative array in PHP?

PHP Multidimensional array is used to store an array in contrast to constant values. Associative array stores the data in the form of key and value pairs where the key can be an integer or string. Multidimensional associative array is often used to store data in group relation.

What is the difference between the associative array and multidimensional array?

Associative array — An array where each key has its own specific value. Multidimensional array — An array containing one or more arrays within itself.

How do you loop through a multidimensional associative array in PHP?

You can simply use the foreach loop in combination with the for loop to access and retrieve all the keys, elements or values inside a multidimensional array in PHP.

Which is a example of associative array in PHP?

Associative array will have their index as string so that you can establish a strong association between key and values. The associative arrays have names keys that is assigned to them. $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115"); Above, we can see key and value pairs in the array.


2 Answers

$alert_array = array();
$alert_array[] = array('alert' => 'alert', 'email' => 'Test');
...
var_dump($alert_array);

In your case you'd have to specify key like so:

$alert_array[$key]["alert"] = "alert";
$alert_array[$key]["email"] = "Test";

You'd have to have a loop with counter too.

If you're using PHP 5.4+ you could use short array syntax:

$alert_array = [];
$alert_array[] = ['alert' => 'alert', 'email' => 'Test'];
like image 152
Dejan Marjanović Avatar answered Sep 16 '22 16:09

Dejan Marjanović


if you put an already existing Array inside a new Array using array function , then your result will be multi-dimensional array

    $alert_array = array();
    $alert_array[] = array('alert' => 'alert', 'email' => 'Test');
    print_r($alert_array);

    /* result will be
    Array ( [0] => Array ( [alert] => alert [email] => Test ) )
    */

In this case, result will be one-dimensional array

$alert_array = array();
while($variable = mysqli_fetch_assoc($something)) {
$alert_array[] = $variable;
}

please also refer array function

like image 40
Sukumar Avatar answered Sep 19 '22 16:09

Sukumar