У меня есть этот массив:
$lista_agregados = array('po' => '0', 'brita' => '0');
И эти массивы:
$po = array(0 => array('qt' => 12, 'total' => 1234),
1 => array('qt' => 45, 'total' => 13224));
$brita = array(0 => array('qt' => 54, 'total' => 124),
1 => array('qt' => 18, 'total' => 224));
Я хочу, чтобы использовать цикл вместо явных операций каждый ключ в $lista_agregados
:
$somatorio_mensal['po'] = $po[0]['total'] + $po[1]['total'];
$somatorio_mensal['brita'] = $brita[0]['total'] + $brita[1]['total'];
Это то, что я до сих пор:
foreach ($lista_agregados as $key => $value) {
$somatorio_mensal["'$key'"] = $key[0]['total'] + $key[1]['total'];
}
Проблема заключается в том, что $key[0]
интерпретируется как po[0]
вместо $po[0]
. Есть ли способ сделать эту работу?
несколько вещей: 1) ' "'$ ключ"' предполагая, '$ ключ =«тест "; ваш ключ будет' 'test'', и вам придется получить к нему доступ:' $ arr ["'test'"] ', обратите внимание на одинарные кавычки! Теперь вы, вероятно, хотите использовать только '$ key', поэтому вы получаете доступ к элементу с помощью' $ arr ["test"] '2). Для вашей« проблемы »вы хотите посмотреть переменные переменные в руководстве, например. '$$ key', поэтому вы в основном говорите, что принимаете значение' $ key' как имя переменной, а если '$ key =" po ";' do '$ po'. 3) И последний раз посмотрите на 'array_column()' и 'array_sum()', чтобы скомпоновать все тотальные элементы. – Rizier123