Объедините два ассоциативных массива, не теряя числовых ключей.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Объедините два ассоциативных массива, не теряя числовых ключей.

Сообщение Anonymous »

Я пытаюсь добавить элемент в начало ассоциативного массива. Я решил, что лучший способ сделать это — использовать array_merge, но у меня возникли некоторые странные последствия. Я получаю идентификатор и название продуктов из базы данных mysql, и они возвращаются в виде ассоциативного массива, вот так (возвращаются не фактические данные, а образцы данных для этого вопроса, которые примерно представляют, как данные выглядят):

Код: Выделить всё

$products = array (1 => 'Product 1', 42 => 'Product 42', 100 => 'Product 100');
это отправляется помощнику html для создания раскрывающегося списка, который связывает ключ со значением, а значение элемента массива устанавливается как текст в элементе управления выбора раскрывающегося списка. Мне нужно, чтобы первый элемент был чем-то вроде «Пожалуйста, выберите» с ключом 0, поэтому я сделал это:

Код: Выделить всё

$products = array_merge(array(0 => "Select a product" ), $products);
Результирующий массив выглядит следующим образом:

Код: Выделить всё

array(
0 => 'Select a product',
1 => 'Product 1',
2 => 'Product 42',
3 => 'Product 100'
);
когда Мне очень хотелось не потерять ключи ассоциативного массива. Мне сказали, что вы можете правильно использовать array_merge с ассоциативными массивами так, как я пробовал, однако я считаю, что, поскольку мои ключи - это int, он не обрабатывает массив как настоящий ассоциативный массив и не сжимает их. как показано выше.
Вопрос: почему функция array_merge меняет ключи элементов? могу ли я удержать его от этого? ИЛИ есть ли у меня другой способ выполнить то, что я пытаюсь сделать, добавить новый элемент в начало массива?

Подробнее здесь: https://stackoverflow.com/questions/523 ... meric-keys
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»