Подтвердить что ты не робот

Наложение массива с помощью ассоциированного массива

Если я работаю с подобным массивом вроде:

Array ( [Username] => user 
        [Email] => email 
      )

и я хочу добавить элемент в конец, я бы подумал:

array_push($array, array('Password' => 'pass'));

Однако это оставляет меня:

Array ( [Username] => user 
        [Email] => email
        Array ( [Password] => pass )
      )

Как этого можно избежать, поэтому я получаю:

Array ( [Username] => user 
        [Email] => email
        [Password] => pass
      )

Очень ценно!

4b9b3361

Ответ 1

Вы используете ассоциативный массив, поэтому вы просто устанавливаете пару ключ/значение, как это.

$array["Password"] = pass;

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

$array["Password"] = "overwritten";

Предоставление вам этого

Array ( [Username] => user 
        [Email] => email
        [Password] => "overwritten"
      )

Что, судя по вашему вопросу, не то, что вы ожидаете

Ответ 2

Попробуйте array_merge:

$array = array('Username' => 'user', 'Email' => 'email'); 
$array = array_merge($array, array('Password' => 'pass'));

Это создает массив:

array('Username' => 'user', 'Email' => 'email', 'Password' => 'pass');

Ответ 3

Ассоциативные массивы не предназначены для того, чтобы иметь свои ключи в порядке. Вы можете добавить элемент через

$array['Password'] = 'pass';

Ответ 4

Как правило, с ассоциативным массивом у вас нет контроля над порядком элементов.

Элементы могут быть в любом порядке.

Однако я нашел, что php сохраняет порядок, который вы добавляете.

Так что просто $myarra["name"] = "password"