phparraysmultidimensional-array

Push an associative row of elements into a 2d array


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)!


Solution

  • $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'];