Jump to content
Dexter Morgan

Juntar array com valores iguais e somar os pontos

Recommended Posts

Preciso juntar os arrays que são com o valor de código iguais e somar os pontos, tenho esse exemplo:

 

                    [1] => Array
                        (
                            [match_id] => 21
                            [player_backup] => 65263
                            [player_points_new] => 450
                            [player_class_points] => 77
                            [player_bonus_ranking] => 0
                            [player_bonus_quality] => 0
                            [player_bonus_quantity] => 0
                            [club] => 
                            [club_points_new] => 0
                            [total_points] => 450
                        )

                    [2] => Array
                        (
                            [match_id] => 4
                            [player_backup] => 65263
                            [player_points_new] => 135
                            [player_class_points] => 4
                            [player_bonus_ranking] => 0
                            [player_bonus_quality] => 0
                            [player_bonus_quantity] => 0
                            [club] => 
                            [club_points_new] => 0
                            [total_points] => 135
                        )

                    [3] => Array
                        (
                            [match_id] => 21
                            [player_backup] => 65263
                            [player_points_new] => 22
                            [player_class_points] => 5
                            [player_bonus_ranking] => 0
                            [player_bonus_quality] => 0
                            [player_bonus_quantity] => 0
                            [club] => 
                            [club_points_new] => 0
                            [total_points] => 22
                        )


O match_id é o código igual, lembrando que ele pode se repetir varias vezes e ai tenho que unir todos os que tem o mesmo match_id somando apenas o total_points

Share this post


Link to post
Share on other sites

Dexter,

 

Você pode fazer da seguinte forma...

$arrModelo = array(
	array(
		'match_id'       => 21,
		'total_points'   => 450
	), 
	array(
		'match_id'       => 4,
		'total_points'   => 13
	), 
	array(
		'match_id'       => 21,
		'total_points'   => 22
	)
);

$etapas = array();
$pontos = array();
foreach($arrModelo as $key => $value) {
	
	$etapas[$value['match_id']][] = $value['total_points'];

	foreach($etapas as $keyP => $valueP) {
		$pontos[$keyP] = array_sum($etapas[$keyP]);
	}

}

echo '<pre>';
	var_dump($pontos);
echo '<pre>';

 

Resultado:

array(2) {
	[21]=>
		int(472)
	[4]=>
		int(13)
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos, membros do grupo, saudações...
       
      Se postei minha dúvida na opção errada peço desculpa.
       
      Estou com uma pequena dúvida.
       
      Quando cadastro usuários na MySql utilizo PASSWORD_HASH para criptografar a Senha.
       
      Estou montando uma rotina, onde o usuário que esqueceu sua senha o sistema envia por e-mail a sua senha, mas me deparei com um pequeno problema.
       
      a senha criada pelo usuário, como por exemplo: 12345678 usando o PASSWORD_HASH fica desta forma: $2y$10$ukBckA5D2aSApHwv/GOKi.P/drP.jwAHOK/9SmWIgRxLUE.x9z.ZK
       
      Quando tento enviar a senha para o usuário vai conforme acima, preciso enviar apenas 12345678. Como consigo descriptografar o PASSWORD_HASH ?
       
      Grato,
       
      Cesar
    • By elisandrodceza
      Alguma ideia para pesquisar os $id recebidos por get em um arquivo diferente ? como se percebe no código funcional a baixo, os $id estão duplicados para funções diferente. Quero adicionar eles em outro arquivo para uma melhor organização com as variáveis $id e $client,  mas de uma maneira que possa pesquisar tanto qual é a $id e o $client para ser informado por email quando o client ler o qrcode, quanto se a $id está na lista para ser redirecionado.
       
       
      ARQUIVO auth_code.php
       
      <?php
          $id = $_GET['id'];
          $ip = $_SERVER['REMOTE_ADDR'];
          $browser = $_SERVER['HTTP_USER_AGENT'];
          $to = "suporte@eatech.inf.br";
          $success = false;

              if ($id == '2623F52846F8A03DA4ADFA9392486807') $client = "Card Contato";
              if ($id == '2BDBDDA17456A1060E156BE7A487FC') $client = "Client 1";
              if ($id == 'E7EA229948A4997C2F72219D6A2764') $client = "Client 2";
              if ($id == '07118879907903166B2C3BE7408EFD') $client = "Client 3";
              if ($id == 'FED09C7CC40ACD77A0BDEA57E894A3') $client = "Client 4";
              if ($id == 'C042D3187B52E87D6E6196567101EF') $client = "Client 5";
              if ($id == '7DCD0215BEC8AF587AD886E407A485') $client = "Client 6";
       
          $messagem = "Cliente: $client<br><br>ID: $id<br><br>IP: $ip<br><br>Browser: $browser"; 
          $assunto = "qrCode digitalizado";
          $headers = "MIME-Version: 1.0\n";
          $headers .= "Content-type: text/html; charset=iso-8859-1\n";
          $headers .= "From: $client\n";
          
          $success = mail($to, $assunto, $messagem, $headers);
          
          if ($id == '2623F52846F8A03DA4ADFA9392486807')
              { header('Location: download/contato.vcf');}
       
          else
              if (

              $id == '2BDBDDA17456A1060E156BE7A487FC' # Client 1
              or $id == 'E7EA229948A4997C2F72219D6A2764' # Client 2
              or $id == '07118879907903166B2C3BE7408EFD' # Client 3
              or $id == 'FED09C7CC40ACD77A0BDEA57E894A3' # Client 4
              or $id == 'C042D3187B52E87D6E6196567101EF' # Client 5
              or $id == '7DCD0215BEC8AF587AD886E407A485' # Client 6
              )
              { header('Location: download/index.php?id=' . $id. '.pdf');}
       
          else
              { echo "<script>alert('Este qrCode ainda não está cadastrado no sistema, tente novamente mais tarde!');history.go(-1) </script>";}
      ?>
    • By rfael023
      Bom dia, Pessoal.

      Sou iniciante em PHP e estou trabalhando na integração de uma API. Estou tendo um pouco de dificuldade em índices de um array, segue abaixo o trecho do código:


       
      1 2 3 4 5 6 7 foreach ($Lista as $SMS) {           foreach ($SMS as $key => $value) {                   echo "{$key} : {$value}\n";         } }

      O resultado é o seguinte:

      telefone : 5519333333333
      id : 921

      telefone : 5519344444444
      id : 922

      telefone : 5519555555555
      id : 923

      Ou seja, eu tenho vários arrays com 2 posições dentro de um único array.

      Eu preciso jogar o ID e o Telefone em variáveis, porém ele não está entendendo meu índice:
       
      1 2 3 4 $sms->setTo($SMS['telefone']); echo $sms->getTo(); $sms->setId($SMS['id']); echo $sms->getId();

      Resultado:

      5,52E+12
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42
      5,52E+12
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42
      5,51198E+12
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42
      5,51198E+12
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42
      5,53176E+11
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42
      5,53176E+11
      Notice: Undefined index: id in C:\xampp1\htdocs\SMSM\exemplos\envio_multiplo_teste.php on line 42

      Alguém consegue me ajudar?

      Agradeço, desde já!
    • By z101
      Sou iniciante, nunca usei PHP na vida e preciso concluir uma tabela de distribuição de frequencia e o polígono de um array, o pouco que vi é muito confuso, alguém aqui já teve que fazer isso antes? 
       
       
    • By MatheusSmidt
      Bom dia,
      Estou precisando de ajuda com o código do formulário de um sistema de cadastro.
      A página é para consulta mas tem a possibilidade de adicionar ou retirar "faltas" de cada profissional cadastrado através de botões simples e também apagar um ou múltiplos profissionais da lista, através de checkbox..
      Essa ações atualizam o banco de dados e já retornam na tela automaticamente.
      O problema é que não fui eu que estruturei o código PHP e não consigo aliar as duas funções que falei anteriormente. Quando consigo fazer funcionar o sistema de adição e redução de faltas, consigo apenas excluir o último nome da lista, mesmo selecionando vários. E quando consigo resolver a parte de excluir vários nomes, não consigo adicionar e reduzir o número de faltas.
       
      Provavelmente é um problema no "WHILE" ou na abertura e fechamento de formulário. Porém não consegui resolver.
      Se alguém conseguir resolver seria ótimo.
      Agradeço desde já. Em anexo envio um print da página para melhor entendimento.
       
       
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.