Php добавить массив в конец массива

Php добавить массив в конец массива

(PHP 4, PHP 5, PHP 7)

array_push — Добавляет один или несколько элементов в конец массива

Описание

array_push() использует array как стек, и добавляет переданные значения в конец массива array . Длина array увеличивается на количество переданных значений. Имеет тот же эффект, что и выражение:

Замечание: Вместо использования array_push() для добавления одного элемента в массив, лучше использовать $array[] = , потому что в этом случае не происходит затрат на вызов функции.

Замечание: array_push() вызовет предупреждение, если первый аргумент не является массивом. Это отличается от поведения конструкции $var[], в случае которой будет создан новый массив.

Список параметров

Первое значение, добавляемое в конец массива array .

Возвращаемые значения

Возвращает новое количество элементов в массиве.

Примеры

Пример #1 Пример использования array_push()

Результат выполнения данного примера:

Смотрите также

  • array_pop() — Извлекает последний элемент массива
  • array_shift() — Извлекает первый элемент массива
  • array_unshift() — Добавляет один или несколько элементов в начало массива

array_push — Добавить один или несколько элеметов в конец массива

Описание int array_push ( array &array, mixed var [, mixed . ] )

array_push() использует array как стэк, и добавляет переданные значения в конец массива array . Длина array увеличивается на количество переданных значений. Имеет тот же эффект, что и выражение:

[] = $var ;
?>

повторенное для каждой var .

Возвращает новое количество элементов в массиве.

Пример 1. Пример использования array_push()

= array( "orange" , "banana" );
array_push ( $stack , "apple" , "raspberry" );
print_r ( $stack );
?>

В результате выполнения этого примера, $stack содержит следующие элементы:

Array
(
[0] => orange
[1] => banana
[2] => apple
[3] => raspberry
)

Замечание: Вместо использования array_push() для добавления в массив одного элемента, лучше использовать $array[] = , потому что в этом случае не происходит вызова функции.

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

Читайте также:  Php int to float

    -если в корзине сеанса уже есть значение: если одинаковое значение для идентификатора и размера, то мы увеличиваем количество существующего значения

-если в корзине сеанса уже есть значение: если значение идентификатора такое же, но значение размера другое, то это новое значение, добавьте
существующее значение.

Для первой проверки, код работает нормально, он проверяет существующие значения в корзине сеанса, и если это тот же идентификатор и тот же размер, то количество увеличивается.

проблема во второй проверке: когда я выбираю другой размер в раскрывающемся списке, но с тем же идентификатором элемента, новое значение (идентификатор и размер) просто стирает существующие значения в корзине.

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

Решение

Ваш foreach цикл неправильный. Когда вы видите запись корзины с другим идентификатором или размером, отличным от выбранного пользователем, это не означает, что она не найдена, поскольку она может находиться в другом элементе массива. Вам нужно подождать, пока не дойдете до конца цикла, чтобы узнать, был ли найден элемент.

Кроме того, вы не можете использовать $pid как ключ $_SESSION[‘cart’] , так как вы можете иметь разные размеры с одинаковыми $pid и ассоциативный массив не может иметь несколько элементов с одним и тем же ключом.

Другие решения

$ example_parent_array = array (‘example_1’, ‘example_2’);

$ example_parent_array [‘example_1’] = array (‘child_array_index’ => «Example»);

echo $ example_parent_array [‘example_1’] [‘child_array_index’]; // Выводы: «Пример»

Ссылка на основную публикацию
Adblock detector