Есть динамический массив принципа:
Array ( [sum] => 1 [k1] => 1 [w1] => 1 [k2] => 2 [w2] => 1 [k3] => 3 [w3] => 1 [first] => 2 [second] => 3 )
Как можно сделать умножение значений массива по принципу - выдирать ключ k и перемножать значения по принципу 1-2|1-3|2-3
&& 1-2|1-3|1-4|2-3|2-4|3-4
с первого по последнее, со второго по последнее и т.д.
не совсем ясно, что надо со всем этим делать, но допустим, если надо сложить произведение таких пар, то код может быть следующим:
Исходные:
$data = [ "sum" => 1, "k1" => 1, "w1" => 1, "k2" => 2, "w2" => 1, "k3" => 3, "w3" => 1, "first" => 2, "second" => 3 ];
Фильтруем нужные ключи
$kdata = array_filter($data, function($k){ return preg_match('/^k\d+$/', $k);}, ARRAY_FILTER_USE_KEY);
Считаем формулу
$result = 0;
while($kdata){
$el = array_shift($kdata);
$result += $el*array_sum($kdata);
}
Пока массив не пустой, берем первый элемент, и считаем сумму его произведений на оставшиеся элементы.
А как считать по принципу: первый элемент на второй и запись в таблицу, первый элемент на третий и так же запись в таблицу?
а так и считать. пишите двойной цикл и формируете массив вставляемых значений. Потом подготавливаете sql запрос и в цикле выполняете его по сформированному массиву.
$kdata = array_values($kdata);
$import = [];
foreach($kdata as $i1 => $v1){
for($i2 = $i1 + 1; $i2 < count($kdata); $i2++){
$import[] = [
':idx_1' => $i1 + 1,
':idx_2' => $i2 + 1,
':v_1' => $v1,
':v_2' => $kdata[$i2],
':res' => $v1 * $kdata[$i2],
];
}
}
$stmt = $pdo->prepare("INSERT INTO table1 (idx_1, idx_2, v1, v2, res) VALUES (:idx_1, :idx_2, :v_1, :v_2, :res)");
foreach($import as $v){
$stmt->execute($v);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть программа выводящая бинарное дерево в консоль, но там это выглядит не очень понятно и красивоВопрос в следующем, есть ли библиотека...
Здраствуйте! Проводил несколько опытов, и увидел, что когда читаешь цифру из чаровой строки, то число ровно на 48 больше чем эта цифраПравда...
Пытаюсь соединить проект c++ и mysqlСделал все что указано в инструкции https://kildekode