Наложение массива с помощью ассоциированного массива
Если я работаю с подобным массивом вроде:
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
)
Очень ценно!
Ответы
Ответ 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"