it-roy-ru.com

Многомерный Ассоциативный Массив (PHP)

Я новичок в массивах в PHP и пытаюсь обдумать, как создать многомерный ассоциативный массив. Я хотел бы, чтобы массив выглядел так, когда я использую print_r:

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

Вместо этого я получаю это:

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

Код, который я использую, это:

$alert_array = array();

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

Я думал, что попробовать что-то вроде этого будет работать, но, очевидно, мой синтаксис немного не так. Я думаю, что я несколько на правильном пути, хотя?

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

Спасибо за вашу помощь (извините, если это супер элементарно, я не смог найти ни одного вопроса, который бы точно отвечал на этот вопрос)!

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

В вашем случае вы должны указать key следующим образом:

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

Вы должны были бы иметь петлю со счетчиком тоже.

Если вы используете PHP 5.4+, вы можете использовать синтаксис короткого массива:

$alert_array = [];
$alert_array[] = ['alert' => 'alert', 'email' => 'Test'];
26
Dejan Marjanovic

если вы поместите уже существующий массив в новый массив, используя функцию массива , то ваш результат будет многомерным массивом

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

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

В этом случае результатом будет одномерный массив

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

пожалуйста, также обратитесь функция массива

0
Sukumar