Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685

Работа с двумерным массивом

05.11.2019, 11:45. Показов 1947. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день коллеги подскажите как мне вывести нужные массивы с двумерного массива и сумму покупки нужного количества кг яблок.
Пример:

HTML5
1
2
3
4
<form method="POST" action="Apple.php">
    Количество яблок на покупку:<input type="text" name="count">
    <button type="submit">send</button>
    </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(Apple) {
  [0]=> array(6) {
    ["trade_id"]=> string(14) "118759074"
    ["type"]=> string(9) "sell"
    ["quantity"]=>string(14) "2.1057588"
    ["price"]=>string(14) "61.776658"
    ["amount"]=>string(17) "130.08674121"
    ["date"]=>string(15) "1572938931"
  }
  [1]=>array(6) {
    ["trade_id"]=> string(14) "118760045"
    ["type"]=>string(9) "sell"
    ["quantity"]=> string(14) "1.8973346"
    ["price"]=> string(14) "61.782999"
    ["amount"]=>string(17) "117.22302169"
    ["date"]=>string(15) "1572939318"
HTML5
1
2
<form method="POST" action="Apple.php">
        <button type="submit">send</button>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2019, 11:45
Ответы с готовыми решениями:

Работа с двумерным массивом
Подскажите что делаю не так, у меня есть трехмерный массив в котором записан такой двумерный массив: =&gt;array(100){ ...

Работа с двумерным массивом
Очень прошу помощи!! SQL запросом взял переменную из БД. &quot;Конвертировал&quot; в понятный вид: $gorod=unserialize($row000); ...

Работа с двумерным массивом
требуется написать программу, которая будет сокращать марицу(через двумерный массив), т.е. результаты записывать в другой массив. 1)...

30
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Esso11 Посмотреть сообщение
мне выдаст результат: набралось яблок на 0 кг
Код должен быть другой немного. И не ясно, если запрос 0.1 кг, нужно ли продолжать поиск яблок до 0.1 кг, или нужно отщипнуть 0.1 от первого попавшегося
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
05.11.2019, 17:22  [ТС]
TolikD, да код идентичен тому что написал (crautcher). Я думал что можно в идеале сделать так что бы потом считало общую сумму покупки вычитая последний остаток из крайнего массива если там продается больше чем нужно пользователю

Добавлено через 53 секунды
TolikD, нужно отщипнуть 0,1 от первого попавшегося я весь массив отсортировал уже

Добавлено через 1 минуту
TolikD, т.е. количество не важно важна мне цена что бы купить яблоки по низкой цене, для этого я отсортировал массив по ценам и теперь только нужно как вы уже сказали
Цитата Сообщение от TolikD Посмотреть сообщение
отщипнуть 0.1 от первого попавшегося
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:23
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
# ....
$summaryQuantity = 0;
$applesBascet = [];
 
foreach ($new_arr as $key => $value) {
 
 
    if (($summaryQuantity + $value['quantity']) > $c) {
        $value['quantity'] = $c - $summaryQuantity;
        $applesBascet[] = $value;
        $summaryQuantity = $c;
                
        break; //already have enough apples
    }
 
    $summaryQuantity += $value['quantity'];
    $applesBascet[] = $value;
 
}
 
?>
Набралось яблок на <?= $summaryQuantity ?>кг. Яблоки
<pre>
    <?php print_r($applesBascet) ?>
</pre>
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
05.11.2019, 17:31  [ТС]
TolikD, можно комментарий к $value['quantity'] = $c - $summaryQuantity; не пойму как это мы в значения взятые с массива перезаписываем свои?

Добавлено через 4 минуты
TolikD, аа т.е. мы остаток перезаписываем в значение что бы вывести, а как мне посчитать общую стоимость этим подмассивов?
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:33
Цитата Сообщение от Esso11 Посмотреть сообщение
значения взятые с массива перезаписываем свои?
Нам ничего не мешает это сделать. К тому же, $value это не элемент массива, а временная копия элемента. Нам так проще менять результат уже с готовым элементом. Единственное, я забыл добавить в код расчет суммы в последнем элементе. То есть последняя версия кода будет такая:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
#....
$summaryQuantity = 0;
$applesBascet = [];
 
foreach ($new_arr as $key => $value) {
 
 
    if (($summaryQuantity + $value['quantity']) > $c) {
        $value['quantity'] = $c - $summaryQuantity;
        $value['amount'] = $value['price'] * $value['quantity'];
        $applesBascet[] = $value;
        $summaryQuantity = $c;
        
        break; //already have enough apples
    }
 
    $summaryQuantity += $value['quantity'];
    $applesBascet[] = $value;
 
}
 
?>
Набралось яблок на <?= $summaryQuantity ?>кг. Яблоки
<pre>
    <?php print_r($applesBascet) ?>
</pre>
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
05.11.2019, 17:41  [ТС]
TolikD,
Цитата Сообщение от Esso11 Посмотреть сообщение
а как мне посчитать общую стоимость этим подмассивов?
у них же везде цены разные и количество покупаемые у них разные и мы может купить не все что они продают а кусочек
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:45
Esso11, В коде, что я предоставил это всё учитывается
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
05.11.2019, 17:48  [ТС]
TolikD, аа она посчитана в $value['amount'] , да?

Добавлено через 1 минуту
TolikD, если не трудно могли бы еще раз прокомментировать ваш код построчно
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:49
Теперь понятно, в чем вопрос.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
# ...
$summaryQuantity = 0;
$summaryAmount = 0;
$applesBascet = [];
 
foreach ($new_arr as $key => $value) {
 
 
    if (($summaryQuantity + $value['quantity']) > $c) {
        $value['quantity'] = $c - $summaryQuantity;
        $value['amount'] = $value['price'] * $value['quantity'];
 
        $summaryAmount += $value['amount'];
 
        $applesBascet[] = $value;
        $summaryQuantity = $c;
        
        break; //already have enough apples
    }
 
    $summaryAmount += $value['amount'];
 
    $summaryQuantity += $value['quantity'];
    $applesBascet[] = $value;
 
}
 
?>
Набралось яблок на <?= $summaryQuantity ?>кг. на сумму <?=$summaryAmount?>. Яблоки
<pre>
    <?php print_r($applesBascet) ?>
</pre>
0
5 / 5 / 0
Регистрация: 20.08.2017
Сообщений: 685
05.11.2019, 17:57  [ТС]
TolikD, спасибо за помощь, посижу еще покручу ваш код что бы понимать точно что как работает
0
 Аватар для TolikD
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
05.11.2019, 17:59
Лучший ответ Сообщение было отмечено Esso11 как решение

Решение

С коментами
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
# ...
$summaryQuantity = 0; # Общее количество
$summaryAmount = 0; # Общая стоимость
$applesBascet = [];
 
foreach ($new_arr as $key => $value) {
 
 
    if (($summaryQuantity + $value['quantity']) > $c) {
        $value['quantity'] = $c - $summaryQuantity; # считаем количество последнего куска
        $value['amount'] = $value['price'] * $value['quantity']; # считаем стоимость последнего куска
 
        $summaryAmount += $value['amount']; # добавляем стоимость последнего куска к общей стоимости
 
        $applesBascet[] = $value; # запоминаем последний кусок от выбранного элемента
        $summaryQuantity = $c; # перебрали не весь массив, значит суммарное количество равно введенному в форме
        
        break; //already have enough apples
    }
 
    $summaryAmount += $value['amount']; # считаем общую стоимость выбранных элементов
 
    $summaryQuantity += $value['quantity']; # считаем общее количество выбранных элементов
    $applesBascet[] = $value; # запоминаем выбранный элемент
 
}
 
?>
Набралось яблок на <?= $summaryQuantity ?>кг. на сумму <?=$summaryAmount?>. Яблоки
<pre>
    <?php print_r($applesBascet) ?>
</pre>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2019, 17:59

Работа с двумерным массивом
дан двумерный массив размером n*m,заполненный случайным образом. 1.Заменить отрицательный элемент каждой строки нулем. 2.Поменять...

Работа с двумерным массивом
Задача. Ввести целочисленный двумерный массив , вывести его. Найти k– количество чётных элементов на главной диагонали. Далее найти...

Работа с двумерным массивом
Доброго времени суток! Необходимо сделать такую программу: 1)Заполнить массив из 10 строк и 10 столбцов случайными двузначными...

Работа с двумерным массивом
1. Дан двумерный массив А, действительных чисел. Определить: 1) Сумму элементов k-го столбца; 2) Произведение элементов С-й строки; ...

Работа с двумерным массивом
Как реализовать двумерный массив с помощью ДСЧ и вручную и выполнить эти действия? 1)Добавить после каждого четного элемента элемент со...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru