Ola, sou iniciante em php e estou com um probleminha.
O problema: eu tenho o array multidimencional “$compras[codigo do cliente][o que o cliente já comprou]”, em seguida fiz o “asort” para ordenar os clientes e a partir dai começa meu problema. Eu coloco o “foreach” para somar as compras de cada cliente e depois coloco em outro array ($total) indexado pelo código do cliente contendo a soma de todas as compras.
Porem, está dando erro. Fiz um teste com “echo $total[0104];” para apareceria o total 750, mas só dá erro. Já fiz varias mudanças, com tudo que já aprendi em php e nada.
Segue abaixo tudo que já fiz:
//foreach($compras as $cliente) // Nesse caso a variável $cliente é o array dos produtos
foreach ($compras as $cliente => $produtos) //NOVA LINHA
{
//foreach($cliente as $comprou => $valor) // A variável $cliente era o array de produtos não de cliente
foreach($produtos as $comprou => $valor) //NOVA LINHA, nesse caso também poderia ser foreach($produtos as $valor), já que a variável $comprou não esta sendo utilizada
{
$v += $valor;
}
$total["$cliente"] = $v; // OBS: aqui estava tentando setar a chave, mas $cliente era um array de produtos não o código do cliente
$v = 0;
Nessa linha, você esta definindo a chave como se fosse um array, no seu foreach a variável $cod é o array em que esta os produtos que o cliente esta comprando.
Observação: olha só como você colocou 0104 ele precisa ser uma string ou seja, ‘0104’ se não o PHP converte para número ( se não me engano é relacionado a isso)
Obrigado galera vc me ajudarão pra caraba . To penando mas se Deus quiser vou conseguir aprender php.
Dragoon, infelizmente nesse meu problema os identificadores dos clientes devem ser numérico e não podem ser string. Mas vlw memo assim. eu não conhecia o “in_array()”