1
resposta

array_combine();

Para melhor entendimento apresentarei meu código. A seguir constam os dois arrays que utilizei:

<?php

$notasPrimeiroBimestre = [
    'Ana' => 10,
    'João' => 9,
    'Maria' => 8,
    'Roberto' => 7,
    'Raimundo' => 6,
    'Vinicius' => 6
];

$notasSegundoBimestre = [
    'Ana' => 10,
    'João' => 9,
    'Maria' => 6,
    'Roberto' => 7,


];

Logo abaixo fiz a diferença entre os dois arrays e armazenei em arrays independentes...


$alunosFaltantes = array_diff_key($notasPrimeiroBimestre, $notasSegundoBimestre);
$nomesAlunos = array_keys($alunosFaltantes);
$notasAlunos = array_values($alunosFaltantes);

Para tanto, quando vou exibir consta dois elementos em cada array e isso é o esperando ...


var_dump($nomesAlunos);
var_dump($notasAlunos);

*Contudo, quando vou fazer o combine apenas um é exibido. É devido as notas serem iguais ? Como corrigir ? *


var_dump(array_combine($notasAlunos, $nomesAlunos));
1 resposta

É devido as notas serem iguais ?

Sim. Dessa forma o índice 6 vai ser sobrescrito com o último valor ("Vinicius").

Como corrigir ?

Não é um erro. Não tem o que corrigir.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software